diff --git a/.gitignore b/.gitignore index 2635026a6..8e3d7f634 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ build/ cmake_install.cmake fmt-*.cmake fmt.pc +.env +qodana-results +qodana.log diff --git a/docker.sarif.json b/docker.sarif.json new file mode 100644 index 000000000..1cd7a7599 --- /dev/null +++ b/docker.sarif.json @@ -0,0 +1,132770 @@ +{ + "$schema": "https://raw.githubusercontent.com/schemastore/schemastore/master/src/schemas/json/sarif-2.1.0-rtm.5.json", + "version": "2.1.0", + "runs": [ + { + "tool": { + "driver": { + "name": "QDCPP", + "fullName": "Qodana for C/C++", + "version": "251.21381", + "rules": [ + { + "id": "CppDFANullDereference", + "shortDescription": { + "text": "Dereferences of pointers that may contain nullptr" + }, + "fullDescription": { + "text": "Reports dereferences of pointers that may contain nullptr", + "markdown": "Reports dereferences of pointers that may contain nullptr" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFANullDereference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultInitializationWithNoUserConstructor", + "shortDescription": { + "text": "Default initialization of a const-qualified object of a type without a user-provided default constructor" + }, + "fullDescription": { + "text": "Default initialization of a const-qualified object of a type without a user-provided default constructor", + "markdown": "Default initialization of a const-qualified object of a type without a user-provided default constructor" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppDefaultInitializationWithNoUserConstructor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstevalIfIsAlwaysConstant", + "shortDescription": { + "text": "consteval if is always constant" + }, + "fullDescription": { + "text": "consteval if is always constant", + "markdown": "consteval if is always constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ConstevalIfIsAlwaysConstant", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseTypeTraitAlias", + "shortDescription": { + "text": "Type trait can be simplified using a template alias or a variable template" + }, + "fullDescription": { + "text": "A type trait can be simplified using a template alias or a variable template", + "markdown": "A type trait can be simplified using a template alias or a variable template" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseTypeTraitAlias", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppHidingFunction", + "shortDescription": { + "text": "Class member function hiding a non-virtual function from a base class" + }, + "fullDescription": { + "text": "Class member function hides a non-virtual function from a base class", + "markdown": "Class member function hides a non-virtual function from a base class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppHidingFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVirtualFunctionCallInsideCtor", + "shortDescription": { + "text": "Call to a virtual function inside a constructor/destructor is resolved at compile time" + }, + "fullDescription": { + "text": "Call to a virtual function inside a constructor/destructor is resolved at compile time", + "markdown": "Call to a virtual function inside a constructor/destructor is resolved at compile time" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppVirtualFunctionCallInsideCtor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCVQualifierCanNotBeAppliedToReference", + "shortDescription": { + "text": "Adding cv-qualifiers to references has no effect" + }, + "fullDescription": { + "text": "Adding cv-qualifiers to references has no effect", + "markdown": "Adding cv-qualifiers to references has no effect" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppCVQualifierCanNotBeAppliedToReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAInvalidatedMemory", + "shortDescription": { + "text": "References to the contents of invalidated containers" + }, + "fullDescription": { + "text": "Reports references to the contents of invalidated containers", + "markdown": "Reports references to the contents of invalidated containers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAInvalidatedMemory", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPointerToIntegralConversion", + "shortDescription": { + "text": "Implicit pointer to integer conversion" + }, + "fullDescription": { + "text": "Implicit pointer to integer conversion", + "markdown": "Implicit pointer to integer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPointerToIntegralConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConstValueFunctionReturnType", + "shortDescription": { + "text": "Function returns by const value" + }, + "fullDescription": { + "text": "Returning from a function by const value is usually not beneficial. Consider returning values as non-const to take advantage of move semantics.", + "markdown": "Returning from a function by const value is usually not beneficial. Consider returning values as non-const to take advantage of move semantics." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppConstValueFunctionReturnType", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEvaluationFailure", + "shortDescription": { + "text": "Compile-time evaluation failure" + }, + "fullDescription": { + "text": "Expression or declarator value did not evaluate to a constant due to the error during 'constexpr' calculations.", + "markdown": "Expression or declarator value did not evaluate to a constant due to the error during 'constexpr' calculations." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CppEvaluationFailure", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFALocalValueEscapesFunction", + "shortDescription": { + "text": "References to local values that escape the function" + }, + "fullDescription": { + "text": "Reports references to local values that escape the function through returns, assignments to global variables, or fields", + "markdown": "Reports references to local values that escape the function through returns, assignments to global variables, or fields" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFALocalValueEscapesFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppSpecialFunctionWithoutNoexceptSpecification", + "shortDescription": { + "text": "Special function without noexcept specification" + }, + "fullDescription": { + "text": "Special function does not have any noexcept specification", + "markdown": "Special function does not have any noexcept specification" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppSpecialFunctionWithoutNoexceptSpecification", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassNeedsConstructorBecauseOfUninitializedMember", + "shortDescription": { + "text": "Class should have a user-defined constructor because of an uninitialized data member" + }, + "fullDescription": { + "text": "Class should have a user-defined constructor because of an uninitialized data member", + "markdown": "Class should have a user-defined constructor because of an uninitialized data member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClassNeedsConstructorBecauseOfUninitializedMember", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElaboratedTypeSpecifier", + "shortDescription": { + "text": "Redundant elaborated type specifier" + }, + "fullDescription": { + "text": "Elaborated type specifier is redundant and can be deleted", + "markdown": "Elaborated type specifier is redundant and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantElaboratedTypeSpecifier", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExceptionSafeResourceAcquisition", + "shortDescription": { + "text": "Non-safe resource acquisition" + }, + "fullDescription": { + "text": "Detects leak-prone resource acquisition/freeing constructs", + "markdown": "Detects leak-prone resource acquisition/freeing constructs" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppNonExceptionSafeResourceAcquisition", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStaticDataMemberInUnnamedStruct", + "shortDescription": { + "text": "Static data member in an anonymous class is not allowed by the C++ standard" + }, + "fullDescription": { + "text": "Static data members are not allowed in anonymous classes", + "markdown": "Static data members are not allowed in anonymous classes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppStaticDataMemberInUnnamedStruct", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTooWideScopeInitStatement", + "shortDescription": { + "text": "Variable can be moved to init statement" + }, + "fullDescription": { + "text": "Don't introduce a variable before you need to use it", + "markdown": "Don't introduce a variable before you need to use it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppTooWideScopeInitStatement", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUninitializedNonStaticDataMember", + "shortDescription": { + "text": "Non-static data member is uninitialized" + }, + "fullDescription": { + "text": "Non-static data member is uninitialized", + "markdown": "Non-static data member is uninitialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUninitializedNonStaticDataMember", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseElementsView", + "shortDescription": { + "text": "std::views::keys/values can be used" + }, + "fullDescription": { + "text": "For example, when iterating on key-value pairs, std::views::keys allows ignoring the values.", + "markdown": "For example, when iterating on key-value pairs, std::views::keys allows ignoring the values." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseElementsView", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCoroutineCallResolveError", + "shortDescription": { + "text": "Cannot resolve a required coroutine function" + }, + "fullDescription": { + "text": "A coroutine-related function which is required by the C++20 standard cannot be resolved", + "markdown": "A coroutine-related function which is required by the C++20 standard cannot be resolved" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppCoroutineCallResolveError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRemoveRedundantBraces", + "shortDescription": { + "text": "Remove redundant braces" + }, + "fullDescription": { + "text": "Braces can be safely removed without changing code semantics", + "markdown": "Braces can be safely removed without changing code semantics" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppRemoveRedundantBraces", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred braces style", + "index": 29, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultIsUsedAsIdentifier", + "shortDescription": { + "text": "Keyword 'default' is used as identifier" + }, + "fullDescription": { + "text": "'default' is a keyword in the C++ standard and cannot be used as an identifier", + "markdown": "'default' is a keyword in the C++ standard and cannot be used as an identifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDefaultIsUsedAsIdentifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppSmartPointerVsMakeFunction", + "shortDescription": { + "text": "Constructor of smart pointer is used instead of its make function" + }, + "fullDescription": { + "text": "Constructor of a smart pointer (boost/std::shared_ptr/unique_ptr) is used instead of the corresponding make_shared/make_unique. Make functions are exception-safe and more efficient.", + "markdown": "Constructor of a smart pointer (boost/std::shared_ptr/unique_ptr) is used instead of the corresponding make_shared/make_unique. Make functions are exception-safe and more efficient." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppSmartPointerVsMakeFunction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStaticSpecifierOnAnonymousNamespaceMember", + "shortDescription": { + "text": "Redundant 'static' specifier on an anonymous namespace member" + }, + "fullDescription": { + "text": "Redundant 'static' specifier on an anonymous namespace member", + "markdown": "Redundant 'static' specifier on an anonymous namespace member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppStaticSpecifierOnAnonymousNamespaceMember", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAccessSpecifierWithNoDeclarations", + "shortDescription": { + "text": "Access specifier does not affect any declaration" + }, + "fullDescription": { + "text": "An access specifier does not affect any declaration and is redundant", + "markdown": "An access specifier does not affect any declaration and is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppAccessSpecifierWithNoDeclarations", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMutableSpecifierOnReferenceMember", + "shortDescription": { + "text": "Reference class member with 'mutable' specifier" + }, + "fullDescription": { + "text": "Reference class members cannot have 'mutable' specifier", + "markdown": "Reference class members cannot have 'mutable' specifier" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppMutableSpecifierOnReferenceMember", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnionMemberOfReferenceType", + "shortDescription": { + "text": "Union member of reference type" + }, + "fullDescription": { + "text": "Unions cannot contain non-static data members of reference types", + "markdown": "Unions cannot contain non-static data members of reference types" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnionMemberOfReferenceType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseStdSize", + "shortDescription": { + "text": "std::size can be used" + }, + "fullDescription": { + "text": "std::size is a type safe alternative to C idiom for array size calculation", + "markdown": "std::size is a type safe alternative to C idiom for array size calculation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseStdSize", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceWhileStatementBraces", + "shortDescription": { + "text": "Enforce braces in 'while' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'while' statement body", + "markdown": "Use braces to separate 'while' statement body" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceWhileStatementBraces", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred braces style", + "index": 29, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantEmptyStatement", + "shortDescription": { + "text": "Redundant empty statement" + }, + "fullDescription": { + "text": "Redundant empty statement", + "markdown": "Redundant empty statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantEmptyStatement", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFADeletedPointer", + "shortDescription": { + "text": "Usages of pointers that refer to deleted memory" + }, + "fullDescription": { + "text": "Reports usages of pointers that refer to memory already deleted by the delete operator or the free(void* ptr) function", + "markdown": "Reports usages of pointers that refer to memory already deleted by the delete operator or the free(void\\* ptr) function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFADeletedPointer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAConstantFunctionResult", + "shortDescription": { + "text": "Functions whose return value is always the same constant" + }, + "fullDescription": { + "text": "Reports functions where the return value is always the same constant", + "markdown": "Reports functions where the return value is always the same constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAConstantFunctionResult", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnmatchedPragmaEndRegionDirective", + "shortDescription": { + "text": "Missing a matching '#pragma region' directive" + }, + "fullDescription": { + "text": "A '#pragma endregion' directive is missing a matching '#pragma region' directive", + "markdown": "A '#pragma endregion' directive is missing a matching '#pragma region' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnmatchedPragmaEndRegionDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLambdaCaptureNeverUsed", + "shortDescription": { + "text": "Lambda capture is never used" + }, + "fullDescription": { + "text": "A lambda capture is never used", + "markdown": "A lambda capture is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppLambdaCaptureNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtDoubleUserConversionInCopyInit", + "shortDescription": { + "text": "More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "fullDescription": { + "text": "More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension.", + "markdown": "More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtDoubleUserConversionInCopyInit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionDoesntReturnValue", + "shortDescription": { + "text": "No return statement in a function or a lambda returning non-void" + }, + "fullDescription": { + "text": "No return statement in a function or a lambda with non-void return type", + "markdown": "No return statement in a function or a lambda with non-void return type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppFunctionDoesntReturnValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtAddressOfClassRValue", + "shortDescription": { + "text": "Taking an address of class r-value is non-standard Microsoft C++ extension" + }, + "fullDescription": { + "text": "Taking an address of class r-value is non-standard Microsoft C++ extension", + "markdown": "Taking an address of class r-value is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtAddressOfClassRValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StdIsConstantEvaluatedWillAlwaysEvaluateToConstant", + "shortDescription": { + "text": "'std::is_constant_evaluated' will always evaluate to constant" + }, + "fullDescription": { + "text": "'std::is_constant_evaluated' will always evaluate to constant", + "markdown": "'std::is_constant_evaluated' will always evaluate to constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StdIsConstantEvaluatedWillAlwaysEvaluateToConstant", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionResultShouldBeUsed", + "shortDescription": { + "text": "Function result should be used" + }, + "fullDescription": { + "text": "Function returns a value of a type that should be handled at the call site", + "markdown": "Function returns a value of a type that should be handled at the call site" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppFunctionResultShouldBeUsed", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenUndocumentedParameter", + "shortDescription": { + "text": "Missing function parameter description in a documentation comment" + }, + "fullDescription": { + "text": "Missing function parameter description in a documentation comment", + "markdown": "Missing function parameter description in a documentation comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppDoxygenUndocumentedParameter", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVolatileParameterInDeclaration", + "shortDescription": { + "text": "Volatile-qualified parameter in a function declaration" + }, + "fullDescription": { + "text": "Volatile-qualification of parameters has an effect only in function definitions", + "markdown": "Volatile-qualification of parameters has an effect only in function definitions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppVolatileParameterInDeclaration", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBooleanExpressionArgument", + "shortDescription": { + "text": "Redundant argument in conditional expression" + }, + "fullDescription": { + "text": "Redundant argument in conditional expression", + "markdown": "Redundant argument in conditional expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedundantBooleanExpressionArgument", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCompileTimeConstantCanBeReplacedWithBooleanConstant", + "shortDescription": { + "text": "Compile-time constant expression can be replaced with either 'true' or 'false'" + }, + "fullDescription": { + "text": "Compile-time integral constant expression or nullptr is converted to bool and can be replaced with 'true' or 'false'", + "markdown": "Compile-time integral constant expression or nullptr is converted to bool and can be replaced with 'true' or 'false'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppCompileTimeConstantCanBeReplacedWithBooleanConstant", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CDeclarationWithImplicitIntType", + "shortDescription": { + "text": "Type-specifier missing, defaults to int" + }, + "fullDescription": { + "text": "No type-specifier found in a declaration. Defaults to 'int'.", + "markdown": "No type-specifier found in a declaration. Defaults to 'int'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CDeclarationWithImplicitIntType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterMayBeConst", + "shortDescription": { + "text": "Parameter can be made const" + }, + "fullDescription": { + "text": "Parameter can be made const", + "markdown": "Parameter can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppParameterMayBeConst", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIncompleteSwitchStatement", + "shortDescription": { + "text": "Possibly erroneous incomplete switch-statement" + }, + "fullDescription": { + "text": "The switch statement doesn't cover the whole range of the enumeration used", + "markdown": "The switch statement doesn't cover the whole range of the enumeration used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIncompleteSwitchStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantStaticSpecifierOnThreadLocalLocalVariable", + "shortDescription": { + "text": "Redundant 'static' specifier on a 'thread_local' local variable" + }, + "fullDescription": { + "text": "Redundant 'static' specifier on a 'thread_local' local variable", + "markdown": "Redundant 'static' specifier on a 'thread_local' local variable" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantStaticSpecifierOnThreadLocalLocalVariable", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantNamespaceDefinition", + "shortDescription": { + "text": "Namespace definition containing single class specialization" + }, + "fullDescription": { + "text": "Don't introduce a namespace definition only for class specialization, specialization can be defined using qualified class name", + "markdown": "Don't introduce a namespace definition only for class specialization, specialization can be defined using qualified class name" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantNamespaceDefinition", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceIfStatementBraces", + "shortDescription": { + "text": "Enforce braces in 'if' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'if' statement body", + "markdown": "Use braces to separate 'if' statement body" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceIfStatementBraces", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred braces style", + "index": 29, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceCVQualifiersOrder", + "shortDescription": { + "text": "Enforce the order of cv-qualifiers" + }, + "fullDescription": { + "text": "Enforce the order of cv-qualifiers", + "markdown": "Enforce the order of cv-qualifiers" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceCVQualifiersOrder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred cv-qualifiers style", + "index": 49, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStringLiteralToCharPointerConversion", + "shortDescription": { + "text": "String literal to char pointer conversion" + }, + "fullDescription": { + "text": "String literal to char pointer conversion", + "markdown": "String literal to char pointer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppStringLiteralToCharPointerConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantConstSpecifier", + "shortDescription": { + "text": "Redundant 'const' specifier" + }, + "fullDescription": { + "text": "The 'const' specifier on a variable definition is redundant", + "markdown": "The 'const' specifier on a variable definition is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantConstSpecifier", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeprecatedOverridenMethod", + "shortDescription": { + "text": "Overridden method is deprecated" + }, + "fullDescription": { + "text": "Overridden method is deprecated", + "markdown": "Overridden method is deprecated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeprecatedOverridenMethod", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PreprocessorComment", + "shortDescription": { + "text": "Preprocessor directive comment" + }, + "fullDescription": { + "text": "Reports the mismatches between the preprocessor '#endif' comments and macro names. Example: '#ifndef _UTILS_H\n #define _UTILS_H\n\n #endif //_UTILS'", + "markdown": "Reports the mismatches between the preprocessor `#endif` comments and macro names.\n\n**Example:**\n\n\n #ifndef _UTILS_H\n #define _UTILS_H\n\n #endif //_UTILS\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PreprocessorComment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/General", + "index": 51, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseStructuredBinding", + "shortDescription": { + "text": "Structured bindings can be used" + }, + "fullDescription": { + "text": "Structured bindings can be used", + "markdown": "Structured bindings can be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseStructuredBinding", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTooWideScope", + "shortDescription": { + "text": "Variable can be moved to inner scope" + }, + "fullDescription": { + "text": "Don't introduce a variable before you need to use it", + "markdown": "Don't introduce a variable before you need to use it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppTooWideScope", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingIncludeGuard", + "shortDescription": { + "text": "Missing include guard" + }, + "fullDescription": { + "text": "Include guard is not found at the beginning of a header file", + "markdown": "Include guard is not found at the beginning of a header file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMissingIncludeGuard", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFALoopConditionNotUpdated", + "shortDescription": { + "text": "Loop conditions that are not updated inside the loop" + }, + "fullDescription": { + "text": "Reports loop conditions that are not updated inside the loop", + "markdown": "Reports loop conditions that are not updated inside the loop" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFALoopConditionNotUpdated", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNotAllPathsReturnValue", + "shortDescription": { + "text": "Not all control paths return a value" + }, + "fullDescription": { + "text": "Not all control paths inside a function or a lambda return a value", + "markdown": "Not all control paths inside a function or a lambda return a value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppNotAllPathsReturnValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceDoStatementBraces", + "shortDescription": { + "text": "Enforce braces in 'do-while' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'do-while' statement body", + "markdown": "Use braces to separate 'do-while' statement body" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceDoStatementBraces", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred braces style", + "index": 29, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionalStyleCast", + "shortDescription": { + "text": "Functional-style cast is used instead of a C++ cast" + }, + "fullDescription": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppFunctionalStyleCast", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclaratorUsedBeforeInitialization", + "shortDescription": { + "text": "Local variable is used without being initialized" + }, + "fullDescription": { + "text": "Local variable is used without being initialized", + "markdown": "Local variable is used without being initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "CppDeclaratorUsedBeforeInitialization", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppForLoopCanBeReplacedWithWhile", + "shortDescription": { + "text": "For-loop can be replaced with while-loop" + }, + "fullDescription": { + "text": "For-loop without init-statement and update expression is equivalent to a while-loop", + "markdown": "For-loop without init-statement and update expression is equivalent to a while-loop" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppForLoopCanBeReplacedWithWhile", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeprecatedRegisterStorageClassSpecifier", + "shortDescription": { + "text": "Deprecated 'register' storage class specifier" + }, + "fullDescription": { + "text": "The 'register' storage class specifier is deprecated in C++11 and removed in C++17", + "markdown": "The 'register' storage class specifier is deprecated in C++11 and removed in C++17" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeprecatedRegisterStorageClassSpecifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnusedIncludeDirective", + "shortDescription": { + "text": "Possibly unused #include directive" + }, + "fullDescription": { + "text": "Possibly unused #include directive", + "markdown": "Possibly unused #include directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnusedIncludeDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTabsAreDisallowed", + "shortDescription": { + "text": "Tabs are prohibited" + }, + "fullDescription": { + "text": "Prohibits the use of tabulation character everywhere in file", + "markdown": "Prohibits the use of tabulation character everywhere in file" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppTabsAreDisallowed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Formatting/Incorrect spacing", + "index": 57, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBooleanIncrementExpression", + "shortDescription": { + "text": "Incrementing expression of type bool" + }, + "fullDescription": { + "text": "Incrementing expression of type bool is deprecated in C++11 and removed in C++17", + "markdown": "Incrementing expression of type bool is deprecated in C++11 and removed in C++17" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppBooleanIncrementExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceCVQualifiersPlacement", + "shortDescription": { + "text": "Enforce the placement of cv-qualifiers" + }, + "fullDescription": { + "text": "Enforce the placement of cv-qualifiers", + "markdown": "Enforce the placement of cv-qualifiers" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceCVQualifiersPlacement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred cv-qualifiers style", + "index": 49, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReturnNoValueInNonVoidFunction", + "shortDescription": { + "text": "A function or a lambda with non-void return type should return a value" + }, + "fullDescription": { + "text": "A function or a lambda with non-void return type should return a value", + "markdown": "A function or a lambda with non-void return type should return a value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppReturnNoValueInNonVoidFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWrongSlashesInIncludeDirective", + "shortDescription": { + "text": "Slash symbol used in #include directive does not match code style settings" + }, + "fullDescription": { + "text": "Slash symbol used in #include directive does not match code style settings", + "markdown": "Slash symbol used in #include directive does not match code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppWrongSlashesInIncludeDirective", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred include directive style", + "index": 59, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStaticAssertFailure", + "shortDescription": { + "text": "static_assert failed" + }, + "fullDescription": { + "text": "static_assert failed", + "markdown": "static_assert failed" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CppStaticAssertFailure", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLocalVariableWithNonTrivialDtorIsNeverUsed", + "shortDescription": { + "text": "Local variable is never used, but may have side-effects in its destructor" + }, + "fullDescription": { + "text": "Local variable is never used, but may have side-effects in its destructor", + "markdown": "Local variable is never used, but may have side-effects in its destructor" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppLocalVariableWithNonTrivialDtorIsNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCStyleCast", + "shortDescription": { + "text": "C-style cast is used instead of a C++ cast" + }, + "fullDescription": { + "text": "C-style cast is used instead of a C++ cast", + "markdown": "C-style cast is used instead of a C++ cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppCStyleCast", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationHidesUncapturedLocal", + "shortDescription": { + "text": "Hiding an uncaptured local declaration" + }, + "fullDescription": { + "text": "A local declaration inside a lambda hides an uncaptured local declaration", + "markdown": "A local declaration inside a lambda hides an uncaptured local declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppDeclarationHidesUncapturedLocal", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVariableCanBeMadeConstexpr", + "shortDescription": { + "text": "Variable can be made constexpr" + }, + "fullDescription": { + "text": "Variable can be made constexpr", + "markdown": "Variable can be made constexpr" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppVariableCanBeMadeConstexpr", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterNeverUsed", + "shortDescription": { + "text": "Parameter is never used" + }, + "fullDescription": { + "text": "Function parameter is never used", + "markdown": "Function parameter is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppParameterNeverUsed", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAbstractFinalClass", + "shortDescription": { + "text": "Abstract final class" + }, + "fullDescription": { + "text": "An abstract final class is marked as 'final' or 'sealed'", + "markdown": "An abstract final class is marked as 'final' or 'sealed'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppAbstractFinalClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUsingResultOfAssignmentAsCondition", + "shortDescription": { + "text": "Result of assignment is used as condition" + }, + "fullDescription": { + "text": "Result of assignment is used as condition", + "markdown": "Result of assignment is used as condition" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUsingResultOfAssignmentAsCondition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPointerConversionDropsQualifiers", + "shortDescription": { + "text": "Implicit conversion to pointer type with loss of qualifiers" + }, + "fullDescription": { + "text": "Implicit conversion to pointer type with loss of qualifiers", + "markdown": "Implicit conversion to pointer type with loss of qualifiers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPointerConversionDropsQualifiers", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceOverridingFunctionStyle", + "shortDescription": { + "text": "Enforce overriding function style" + }, + "fullDescription": { + "text": "Enforce the 'virtual' and 'override' specifiers on overriding functions", + "markdown": "Enforce the 'virtual' and 'override' specifiers on overriding functions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppEnforceOverridingFunctionStyle", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred overriding function style", + "index": 61, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBaseClassInitializer", + "shortDescription": { + "text": "Redundant base class initializer" + }, + "fullDescription": { + "text": "Redundant base class initializer in a member initializer list", + "markdown": "Redundant base class initializer in a member initializer list" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantBaseClassInitializer", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeletingVoidPointer", + "shortDescription": { + "text": "Deleting a void pointer" + }, + "fullDescription": { + "text": "Deleting a void pointer is undefined behavior", + "markdown": "Deleting a void pointer is undefined behavior" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeletingVoidPointer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLocalVariableMightNotBeInitialized", + "shortDescription": { + "text": "Local variable might not be initialized" + }, + "fullDescription": { + "text": "A local variable might not be initialized", + "markdown": "A local variable might not be initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppLocalVariableMightNotBeInitialized", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppThrowExpressionCanBeReplacedWithRethrow", + "shortDescription": { + "text": "Throw expression can be replaced with a rethrow expression" + }, + "fullDescription": { + "text": "Throw expression can be replaced with a rethrow expression", + "markdown": "Throw expression can be replaced with a rethrow expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppThrowExpressionCanBeReplacedWithRethrow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLocalVariableMayBeConst", + "shortDescription": { + "text": "Local variable can be made const" + }, + "fullDescription": { + "text": "Local variable can be made const", + "markdown": "Local variable can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppLocalVariableMayBeConst", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppInvalidLineContinuation", + "shortDescription": { + "text": "Backslash and newline are separated by space" + }, + "fullDescription": { + "text": "Backslash is not a line continuator because there is a space between it and the end of the line", + "markdown": "Backslash is not a line continuator because there is a space between it and the end of the line" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppInvalidLineContinuation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtBindingRValueToLvalueReference", + "shortDescription": { + "text": "Binding r-value to l-value reference is non-standard Microsoft C++ extension" + }, + "fullDescription": { + "text": "Binding r-value to l-value reference is non-standard Microsoft C++ extension", + "markdown": "Binding r-value to l-value reference is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtBindingRValueToLvalueReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRangeBasedForIncompatibleReference", + "shortDescription": { + "text": "Possibly unintended incompatible reference type in range declaration" + }, + "fullDescription": { + "text": "Using an incompatible reference type in the range declaration is likely to cause unwanted object copying", + "markdown": "Using an incompatible reference type in the range declaration is likely to cause unwanted object copying" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRangeBasedForIncompatibleReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatTooManyArgs", + "shortDescription": { + "text": "Too many arguments in a call to boost::format" + }, + "fullDescription": { + "text": "Too many arguments in a call to boost::format. Some of the arguments are not used.", + "markdown": "Too many arguments in a call to boost::format. Some of the arguments are not used." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppBoostFormatTooManyArgs", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppForwardEnumDeclarationWithoutUnderlyingType", + "shortDescription": { + "text": "Forward enum declaration without underlying type" + }, + "fullDescription": { + "text": "ISO C++ forbids forward declarations of an enum without an underlying type", + "markdown": "ISO C++ forbids forward declarations of an enum without an underlying type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppForwardEnumDeclarationWithoutUnderlyingType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAConstantConditions", + "shortDescription": { + "text": "Conditions that are always true or false" + }, + "fullDescription": { + "text": "Reports conditions that are always true or false and expressions whose value is statically proven to be constant", + "markdown": "Reports conditions that are always true or false and expressions whose value is statically proven to be constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAConstantConditions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExplicitConversionOperator", + "shortDescription": { + "text": "Non-explicit conversion operator" + }, + "fullDescription": { + "text": "Non-explicit conversion operator", + "markdown": "Non-explicit conversion operator" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppNonExplicitConversionOperator", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrecompiledHeaderIsNotIncluded", + "shortDescription": { + "text": "Precompiled header is not included" + }, + "fullDescription": { + "text": "Precompiled header must be included at the top of source file", + "markdown": "Precompiled header must be included at the top of source file" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CppPrecompiledHeaderIsNotIncluded", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNoDiscardExpression", + "shortDescription": { + "text": "Result of nodiscard function is not used" + }, + "fullDescription": { + "text": "Result of nodiscard function is not used", + "markdown": "Result of nodiscard function is not used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppNoDiscardExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConceptNeverUsed", + "shortDescription": { + "text": "Concept is never used" + }, + "fullDescription": { + "text": "Concept is never used", + "markdown": "Concept is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppConceptNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnumeratorNeverUsed", + "shortDescription": { + "text": "Enumerator is never used" + }, + "fullDescription": { + "text": "An enumerator is never used", + "markdown": "An enumerator is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnumeratorNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantLambdaParameterList", + "shortDescription": { + "text": "Redundant parameter list in lambda declarator" + }, + "fullDescription": { + "text": "Empty parameter list in lambda declarator can be deleted", + "markdown": "Empty parameter list in lambda declarator can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantLambdaParameterList", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingKeywordThrow", + "shortDescription": { + "text": "May be missing keyword 'throw'" + }, + "fullDescription": { + "text": "Object of exception type is created, but is not thrown", + "markdown": "Object of exception type is created, but is not thrown" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMissingKeywordThrow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAUnusedValue", + "shortDescription": { + "text": "Variable values that are never used after being assigned" + }, + "fullDescription": { + "text": "Reports variable values that are never used after being assigned", + "markdown": "Reports variable values that are never used after being assigned" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAUnusedValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonInlineFunctionDefinitionInHeaderFile", + "shortDescription": { + "text": "Non-inline function definition in a header file" + }, + "fullDescription": { + "text": "A function definition in a header file that will lead to a multiple definition linkage error", + "markdown": "A function definition in a header file that will lead to a multiple definition linkage error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppNonInlineFunctionDefinitionInHeaderFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppImplicitDefaultConstructorNotAvailable", + "shortDescription": { + "text": "Implicit default constructor is not available" + }, + "fullDescription": { + "text": "Implicit default constructor is not available because a base class or a class member does not have an accessible default constructor", + "markdown": "Implicit default constructor is not available because a base class or a class member does not have an accessible default constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppImplicitDefaultConstructorNotAvailable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAArrayIndexOutOfBounds", + "shortDescription": { + "text": "Array access expressions where index may be out of bounds" + }, + "fullDescription": { + "text": "Reports array or pointer variable access expressions where index may be out of bounds of an array or allocated buffer", + "markdown": "Reports array or pointer variable access expressions where index may be out of bounds of an array or allocated buffer" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAArrayIndexOutOfBounds", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfExtraArg", + "shortDescription": { + "text": "Too many arguments in a call to printf" + }, + "fullDescription": { + "text": "Too many arguments in a call to printf. Some of the arguments are not used.", + "markdown": "Too many arguments in a call to printf. Some of the arguments are not used." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrintfExtraArg", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAUnreadVariable", + "shortDescription": { + "text": "Local variables that are declared but never accessed for reading" + }, + "fullDescription": { + "text": "Reports local variables that are declared but never accessed for reading", + "markdown": "Reports local variables that are declared but never accessed for reading" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAUnreadVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMustBePublicVirtualToImplementInterface", + "shortDescription": { + "text": "Method must be public and virtual to implement a C++/CLI interface member" + }, + "fullDescription": { + "text": "Method must be public and virtual to implement a C++/CLI interface member", + "markdown": "Method must be public and virtual to implement a C++/CLI interface member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMustBePublicVirtualToImplementInterface", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEqualOperandsInBinaryExpression", + "shortDescription": { + "text": "Binary operator acts on equal operands" + }, + "fullDescription": { + "text": "Binary operator acts on equal operands", + "markdown": "Binary operator acts on equal operands" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppEqualOperandsInBinaryExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppJoinDeclarationAndAssignment", + "shortDescription": { + "text": "Declaration and assignment can be joined" + }, + "fullDescription": { + "text": "Declaration of a variable and assignment to it can be joined", + "markdown": "Declaration of a variable and assignment to it can be joined" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppJoinDeclarationAndAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppSomeObjectMembersMightNotBeInitialized", + "shortDescription": { + "text": "Some object members might not be initialized" + }, + "fullDescription": { + "text": "Some object members might not be initialized", + "markdown": "Some object members might not be initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppSomeObjectMembersMightNotBeInitialized", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterNamesMismatch", + "shortDescription": { + "text": "Parameter names do not match" + }, + "fullDescription": { + "text": "Parameter names differ in different declarations of the same function", + "markdown": "Parameter names differ in different declarations of the same function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppParameterNamesMismatch", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppHiddenFunction", + "shortDescription": { + "text": "Non-virtual class member function hidden in a derived class" + }, + "fullDescription": { + "text": "Non-virtual class member function is hidden in a derived class", + "markdown": "Non-virtual class member function is hidden in a derived class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppHiddenFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIdenticalOperandsInBinaryExpression", + "shortDescription": { + "text": "Binary operator acts on identical operands" + }, + "fullDescription": { + "text": "Binary operator acts on identical operands", + "markdown": "Binary operator acts on identical operands" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIdenticalOperandsInBinaryExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConstParameterInDeclaration", + "shortDescription": { + "text": "Const-qualified parameter in a function declaration" + }, + "fullDescription": { + "text": "Const-qualification of parameters has an effect only in function definitions", + "markdown": "Const-qualification of parameters has an effect only in function definitions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppConstParameterInDeclaration", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceTypeAliasCodeStyle", + "shortDescription": { + "text": "Enforce type alias code style" + }, + "fullDescription": { + "text": "Enforce usage of typedefs or type aliases depending on the syntax style setting", + "markdown": "Enforce usage of typedefs or type aliases depending on the syntax style setting" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceTypeAliasCodeStyle", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred declaration style", + "index": 70, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMemberFunctionMayBeStatic", + "shortDescription": { + "text": "Member function can be made static" + }, + "fullDescription": { + "text": "Member function can be made static", + "markdown": "Member function can be made static" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppMemberFunctionMayBeStatic", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassCanBeFinal", + "shortDescription": { + "text": "Class can be made final" + }, + "fullDescription": { + "text": "A class definition can be marked as final so it cannot be inherited from", + "markdown": "A class definition can be marked as final so it cannot be inherited from" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClassCanBeFinal", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAbstractVirtualFunctionCallInCtor", + "shortDescription": { + "text": "Call to a virtual function inside a constructor/destructor will result in a pure virtual function call" + }, + "fullDescription": { + "text": "Calls to pure virtual functions inside constructors and destructors will result in runtime errors", + "markdown": "Calls to pure virtual functions inside constructors and destructors will result in runtime errors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "CppAbstractVirtualFunctionCallInCtor", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBaseClassAccessSpecifier", + "shortDescription": { + "text": "Redundant base class access specifier" + }, + "fullDescription": { + "text": "Redundant base class access specifier", + "markdown": "Redundant base class access specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantBaseClassAccessSpecifier", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfRiskyFormat", + "shortDescription": { + "text": "Possibly invalid printf format specifier" + }, + "fullDescription": { + "text": "Format string contains a potential error", + "markdown": "Format string contains a potential error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrintfRiskyFormat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPolymorphicClassWithNonVirtualPublicDestructor", + "shortDescription": { + "text": "Polymorphic class with non-virtual public destructor" + }, + "fullDescription": { + "text": "A polymorphic class with a non-virtual public destructor", + "markdown": "A polymorphic class with a non-virtual public destructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPolymorphicClassWithNonVirtualPublicDestructor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantInlineSpecifier", + "shortDescription": { + "text": "Redundant 'inline' specifier" + }, + "fullDescription": { + "text": "The 'inline' specifier on a function definition is redundant", + "markdown": "The 'inline' specifier on a function definition is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantInlineSpecifier", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Clazy", + "shortDescription": { + "text": "Clazy" + }, + "fullDescription": { + "text": "Reports the Qt-related compiler warnings, ranging from unneeded memory allocations to the misused API.", + "markdown": "Reports the Qt-related compiler warnings, ranging from unneeded memory allocations to the misused API." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Clazy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Static Analysis Tools", + "index": 72, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElseKeywordInsideCompoundStatement", + "shortDescription": { + "text": "Redundant 'else' keyword inside compound statement" + }, + "fullDescription": { + "text": "Redundant 'else' keyword inside compound statement", + "markdown": "Redundant 'else' keyword inside compound statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantElseKeywordInsideCompoundStatement", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTemplateParameterShadowing", + "shortDescription": { + "text": "Redeclaration of a template parameter from an outer scope" + }, + "fullDescription": { + "text": "A template parameter from an outer scope is shadowed by a declaration with the same name", + "markdown": "A template parameter from an outer scope is shadowed by a declaration with the same name" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppTemplateParameterShadowing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantQualifier", + "shortDescription": { + "text": "Redundant qualifier" + }, + "fullDescription": { + "text": "Qualifier is redundant and can be deleted", + "markdown": "Qualifier is redundant and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantQualifier", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAbstractClassWithoutSpecifier", + "shortDescription": { + "text": "Class is abstract but not explicitly declared as such" + }, + "fullDescription": { + "text": "The class is abstract but not explicitly declared as such", + "markdown": "The class is abstract but not explicitly declared as such" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppAbstractClassWithoutSpecifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclaratorNeverUsed", + "shortDescription": { + "text": "Declarator is never used" + }, + "fullDescription": { + "text": "A declarator is never used", + "markdown": "A declarator is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeclaratorNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatBadCode", + "shortDescription": { + "text": "Incorrect format directive in boost::format" + }, + "fullDescription": { + "text": "A format string of boost::format contains an erroneous format directive", + "markdown": "A format string of boost::format contains an erroneous format directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppBoostFormatBadCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrivateSpecialMemberFunctionIsNotImplemented", + "shortDescription": { + "text": "Private special member function is not implemented" + }, + "fullDescription": { + "text": "A private special member function must be defined or deleted", + "markdown": "A private special member function must be defined or deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrivateSpecialMemberFunctionIsNotImplemented", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantMemberInitializer", + "shortDescription": { + "text": "Redundant member initializer in constructor initialization list" + }, + "fullDescription": { + "text": "Redundant member initializer in constructor initialization list", + "markdown": "Redundant member initializer in constructor initialization list" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantMemberInitializer", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAMemoryLeak", + "shortDescription": { + "text": "Allocations of memory that were not released" + }, + "fullDescription": { + "text": "Reports memory allocations (using either 'new' or 'malloc()') that were not released before becoming inaccessible", + "markdown": "Reports memory allocations (using either 'new' or 'malloc()') that were not released before becoming inaccessible" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAMemoryLeak", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFALocalValueEscapesScope", + "shortDescription": { + "text": "References to local variables that escape their scope" + }, + "fullDescription": { + "text": "Reports variables with references to the local variables that escape their scope", + "markdown": "Reports variables with references to the local variables that escape their scope" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFALocalValueEscapesScope", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassNeverUsed", + "shortDescription": { + "text": "Class is never used" + }, + "fullDescription": { + "text": "A class is never used", + "markdown": "A class is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClassNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTemplateParameterNeverUsed", + "shortDescription": { + "text": "Template parameter is never used" + }, + "fullDescription": { + "text": "A template parameter is never used", + "markdown": "A template parameter is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppTemplateParameterNeverUsed", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenUnresolvedReference", + "shortDescription": { + "text": "Unresolved reference in doxygen comment" + }, + "fullDescription": { + "text": "Unresolved reference in a doxygen comment", + "markdown": "Unresolved reference in a doxygen comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDoxygenUnresolvedReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUninitializedDependentBaseClass", + "shortDescription": { + "text": "Uninitialized dependent base class" + }, + "fullDescription": { + "text": "Possibly uninitialized dependent base class", + "markdown": "Possibly uninitialized dependent base class" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppUninitializedDependentBaseClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNodiscardFunctionWithoutReturnValue", + "shortDescription": { + "text": "[[nodiscard]] cannot be applied to functions without a return value" + }, + "fullDescription": { + "text": "The [[nodiscard]] attribute cannot be applied to functions without a return value", + "markdown": "The \\[\\[nodiscard\\]\\] attribute cannot be applied to functions without a return value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppNodiscardFunctionWithoutReturnValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPossiblyErroneousEmptyStatements", + "shortDescription": { + "text": "Possibly erroneous empty statement" + }, + "fullDescription": { + "text": "Possibly erroneous empty statement used in a control statement", + "markdown": "Possibly erroneous empty statement used in a control statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPossiblyErroneousEmptyStatements", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWrongIncludesOrder", + "shortDescription": { + "text": "Order of #include directives does not match code style settings" + }, + "fullDescription": { + "text": "Order of #include directives does not match code style settings", + "markdown": "Order of #include directives does not match code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppWrongIncludesOrder", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred include directive style", + "index": 59, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantCastExpression", + "shortDescription": { + "text": "Redundant cast expression" + }, + "fullDescription": { + "text": "Cast is redundant and can be deleted", + "markdown": "Cast is redundant and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantCastExpression", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAutoForNumeric", + "shortDescription": { + "text": "Numeric type can be replaced with auto" + }, + "fullDescription": { + "text": "A numeric type can be replaced with 'auto'", + "markdown": "A numeric type can be replaced with 'auto'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseAutoForNumeric", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred 'auto' style", + "index": 75, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMultiCharacterWideLiteral", + "shortDescription": { + "text": "Multi-character wide character literal" + }, + "fullDescription": { + "text": "Multi-character wide character literal", + "markdown": "Multi-character wide character literal" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMultiCharacterWideLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDereferenceOperatorLimitExceeded", + "shortDescription": { + "text": "Dereference operator limit is exceeded" + }, + "fullDescription": { + "text": "Dereference operator limit is exceeded", + "markdown": "Dereference operator limit is exceeded" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDereferenceOperatorLimitExceeded", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassIsIncomplete", + "shortDescription": { + "text": "Use of an incomplete type inside a template" + }, + "fullDescription": { + "text": "An incomplete type is used inside a template declaration or definition", + "markdown": "An incomplete type is used inside a template declaration or definition" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppClassIsIncomplete", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTypeAliasNeverUsed", + "shortDescription": { + "text": "Type alias is never used" + }, + "fullDescription": { + "text": "A type alias is never used", + "markdown": "A type alias is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppTypeAliasNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIntegralToPointerConversion", + "shortDescription": { + "text": "Implicit integer to pointer conversion" + }, + "fullDescription": { + "text": "Implicit integer to pointer conversion", + "markdown": "Implicit integer to pointer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIntegralToPointerConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantEmptyDeclaration", + "shortDescription": { + "text": "Redundant empty declaration" + }, + "fullDescription": { + "text": "Redundant empty declaration", + "markdown": "Redundant empty declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantEmptyDeclaration", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEntityUsedOnlyInUnevaluatedContext", + "shortDescription": { + "text": "Declarator is used only in unevaluated context" + }, + "fullDescription": { + "text": "A declarator is used only in unevaluated context", + "markdown": "A declarator is used only in unevaluated context" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppEntityUsedOnlyInUnevaluatedContext", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPassValueParameterByConstReference", + "shortDescription": { + "text": "Pass value parameters by const reference" + }, + "fullDescription": { + "text": "Parameter of a type that is expensive to copy is passed by value, but it can be passed by const reference instead", + "markdown": "Parameter of a type that is expensive to copy is passed by value, but it can be passed by const reference instead" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppPassValueParameterByConstReference", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantControlFlowJump", + "shortDescription": { + "text": "Redundant control flow jump statement" + }, + "fullDescription": { + "text": "Redundant control flow jump statement", + "markdown": "Redundant control flow jump statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantControlFlowJump", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppExplicitSpecializationInNonNamespaceScope", + "shortDescription": { + "text": "Explicit specialization in non-namespace scope" + }, + "fullDescription": { + "text": "Explicit specializations of a template in non-namespace scope", + "markdown": "Explicit specializations of a template in non-namespace scope" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppExplicitSpecializationInNonNamespaceScope", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppZeroValuedExpressionUsedAsNullPointer", + "shortDescription": { + "text": "Expression that evaluates to zero is used as a null pointer constant" + }, + "fullDescription": { + "text": "Expression that evaluates to zero is used as a null pointer constant", + "markdown": "Expression that evaluates to zero is used as a null pointer constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppZeroValuedExpressionUsedAsNullPointer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAInfiniteRecursion", + "shortDescription": { + "text": "Functions that call themselves infinitely" + }, + "fullDescription": { + "text": "Reports functions that call themselves infinitely unless an exception is thrown", + "markdown": "Reports functions that call themselves infinitely unless an exception is thrown" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAInfiniteRecursion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonInlineVariableDefinitionInHeaderFile", + "shortDescription": { + "text": "Non-inline variable definition in a header file" + }, + "fullDescription": { + "text": "A variable definition in a header file that will lead to a multiple definition linkage error", + "markdown": "A variable definition in a header file that will lead to a multiple definition linkage error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppNonInlineVariableDefinitionInHeaderFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTypenameKeyword", + "shortDescription": { + "text": "Redundant 'typename' keyword" + }, + "fullDescription": { + "text": "Redundant 'typename' keyword", + "markdown": "Redundant 'typename' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedundantTypenameKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtCopyElisionInCopyInitDeclarator", + "shortDescription": { + "text": "Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "fullDescription": { + "text": "Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension.", + "markdown": "Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtCopyElisionInCopyInitDeclarator", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenSyntaxError", + "shortDescription": { + "text": "Syntax error in doxygen comment" + }, + "fullDescription": { + "text": "Syntax error in a doxygen comment", + "markdown": "Syntax error in a doxygen comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDoxygenSyntaxError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppObjectMemberMightNotBeInitialized", + "shortDescription": { + "text": "Object member might not be initialized" + }, + "fullDescription": { + "text": "An object member might not be initialized", + "markdown": "An object member might not be initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppObjectMemberMightNotBeInitialized", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElseKeyword", + "shortDescription": { + "text": "Redundant 'else' keyword" + }, + "fullDescription": { + "text": "Redundant 'else' keyword", + "markdown": "Redundant 'else' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantElseKeyword", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTemplateArgumentsCanBeDeduced", + "shortDescription": { + "text": "Template arguments can be deduced" + }, + "fullDescription": { + "text": "Template arguments can be deduced", + "markdown": "Template arguments can be deduced" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppTemplateArgumentsCanBeDeduced", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantZeroInitializerInAggregateInitialization", + "shortDescription": { + "text": "Redundant zero initializer in aggregate initialization" + }, + "fullDescription": { + "text": "Redundant zero initializer in aggregate initialization", + "markdown": "Redundant zero initializer in aggregate initialization" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantZeroInitializerInAggregateInitialization", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnnecessaryWhitespace", + "shortDescription": { + "text": "Redundant whitespaces at the end of a line" + }, + "fullDescription": { + "text": "Redundant whitespace characters at the end of a line", + "markdown": "Redundant whitespace characters at the end of a line" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnnecessaryWhitespace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Formatting/Incorrect spacing", + "index": 57, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted", + "shortDescription": { + "text": "Defaulted special member function is implicitly deleted" + }, + "fullDescription": { + "text": "Explicitly defaulted special member function is implicitly deleted", + "markdown": "Explicitly defaulted special member function is implicitly deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedefinitionOfDefaultArgumentInOverrideFunction", + "shortDescription": { + "text": "Override function redefines a default parameter argument" + }, + "fullDescription": { + "text": "An override function redefines a default parameter argument, previously defined in a base function", + "markdown": "An override function redefines a default parameter argument, previously defined in a base function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedefinitionOfDefaultArgumentInOverrideFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantComplexityInComparison", + "shortDescription": { + "text": "Expression can be simplified" + }, + "fullDescription": { + "text": "Expression can be simplified", + "markdown": "Expression can be simplified" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantComplexityInComparison", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIfCanBeReplacedByConstexprIf", + "shortDescription": { + "text": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "fullDescription": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppIfCanBeReplacedByConstexprIf", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatTooFewArgs", + "shortDescription": { + "text": "Not enough arguments in a call to boost::format" + }, + "fullDescription": { + "text": "Not enough arguments in a call to boost::format", + "markdown": "Not enough arguments in a call to boost::format" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "CppBoostFormatTooFewArgs", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMultiCharacterLiteral", + "shortDescription": { + "text": "Multi-character character literal" + }, + "fullDescription": { + "text": "Multi-character character literal", + "markdown": "Multi-character character literal" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMultiCharacterLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeprecatedEntity", + "shortDescription": { + "text": "Entity is deprecated" + }, + "fullDescription": { + "text": "Entity is deprecated", + "markdown": "Entity is deprecated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeprecatedEntity", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPossiblyUnintendedObjectSlicing", + "shortDescription": { + "text": "Possibly unintended object slicing" + }, + "fullDescription": { + "text": "Possibly unintended object slicing", + "markdown": "Possibly unintended object slicing" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPossiblyUnintendedObjectSlicing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnsignedZeroComparison", + "shortDescription": { + "text": "Comparison of unsigned expression with 0" + }, + "fullDescription": { + "text": "Comparison of unsigned expression with 0", + "markdown": "Comparison of unsigned expression with 0" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnsignedZeroComparison", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantStaticSpecifierOnMemberAllocationFunction", + "shortDescription": { + "text": "Redundant 'static' specifier on a member allocation/deallocation function" + }, + "fullDescription": { + "text": "The 'static' specifier is optional for member allocation/deallocation functions", + "markdown": "The 'static' specifier is optional for member allocation/deallocation functions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantStaticSpecifierOnMemberAllocationFunction", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultCaseNotHandledInSwitchStatement", + "shortDescription": { + "text": "Default case is not handled in a switch statement" + }, + "fullDescription": { + "text": "Default case is not handled in a switch statement", + "markdown": "Default case is not handled in a switch statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDefaultCaseNotHandledInSwitchStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppExpressionWithoutSideEffects", + "shortDescription": { + "text": "Possibly erroneous expression without side-effects" + }, + "fullDescription": { + "text": "Possibly erroneous expression without side-effects", + "markdown": "Possibly erroneous expression without side-effects" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppExpressionWithoutSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFATimeOver", + "shortDescription": { + "text": "Dataflow inspection timed out" + }, + "fullDescription": { + "text": "Dataflow inspection has reached the time or memory limit and cannot be evaluated in either context-sensitive or context-insensitive mode", + "markdown": "Dataflow inspection has reached the time or memory limit and cannot be evaluated in either context-sensitive or context-insensitive mode" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppDFATimeOver", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReplaceTieWithStructuredBinding", + "shortDescription": { + "text": "Structured bindings can be used instead of tie(..)" + }, + "fullDescription": { + "text": "Structured bindings can be used instead of tie(..)", + "markdown": "Structured bindings can be used instead of tie(..)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppReplaceTieWithStructuredBinding", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceForStatementBraces", + "shortDescription": { + "text": "Enforce braces in 'for' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'for' statement body", + "markdown": "Use braces to separate 'for' statement body" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceForStatementBraces", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred braces style", + "index": 29, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseEraseAlgorithm", + "shortDescription": { + "text": "'std::erase'/'std::erase_if' can be used instead of the remove-erase idiom" + }, + "fullDescription": { + "text": "'std::erase'/'std::erase_if' can be used instead of the remove-erase idiom", + "markdown": "'std::erase'/'std::erase_if' can be used instead of the remove-erase idiom" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseEraseAlgorithm", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArgumentSelectionDefects", + "shortDescription": { + "text": "Argument selection defect" + }, + "fullDescription": { + "text": "Reports mismatches between the argument identifier name and the formal parameter name. This can help detect programming errors, for example, when you accidentally switch the arguments of the same type. The original research paper can be found here. Example: 'const User* get_User(int64_t company_id, int64_t user_id) {\n return new User{company_id, user_id, \"foo\"};\n }\n\n void call_User(int64_t company_id, int64_t user_id) {\n const User* user = get_User(user_id, company_id); // potential issue here\n //...\n }' Use the checkbox below to inspect arguments with names shorter than three symbols. Learn More.", + "markdown": "Reports mismatches between the argument identifier name and the formal parameter name. This can help detect programming errors, for example, when you accidentally switch the arguments of the same type. The original research paper can be found [here](https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/46317.pdf).\n\n**Example:**\n\n\n const User* get_User(int64_t company_id, int64_t user_id) {\n return new User{company_id, user_id, \"foo\"};\n }\n\n void call_User(int64_t company_id, int64_t user_id) {\n const User* user = get_User(user_id, company_id); // potential issue here\n //...\n }\n\nUse the checkbox below to inspect arguments with names shorter than three symbols.\n\n[Learn More.](https://www.jetbrains.com/help/clion/argument-selection-defects-inspection.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ArgumentSelectionDefects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/General", + "index": 51, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAUnreachableFunctionCall", + "shortDescription": { + "text": "Functions whose calls are never used" + }, + "fullDescription": { + "text": "Reports functions whose calls are never used. Such functions are also never executed.", + "markdown": "Reports functions whose calls are never used. Such functions are also never executed." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAUnreachableFunctionCall", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclaratorDisambiguatedAsFunction", + "shortDescription": { + "text": "Declarator disambiguated as a function declaration" + }, + "fullDescription": { + "text": "Declarator is disambiguated as a function declaration. Make sure a variable definition is not intended instead.", + "markdown": "Declarator is disambiguated as a function declaration. Make sure a variable definition is not intended instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeclaratorDisambiguatedAsFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMemberFunctionMayBeConst", + "shortDescription": { + "text": "Member function can be made const" + }, + "fullDescription": { + "text": "Member function can be made const", + "markdown": "Member function can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppMemberFunctionMayBeConst", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Misra", + "shortDescription": { + "text": "MISRA" + }, + "fullDescription": { + "text": "Reports various issues defined by the MISRA C 2012, MISRA C++ 2008 and MISRA C++ 2023 guidelines. The list of currently supported checks is here.", + "markdown": "Reports various issues defined by the MISRA C 2012, MISRA C++ 2008 and MISRA C++ 2023 guidelines.\n\nThe list of currently supported checks is [here](https://youtrack.jetbrains.com/articles/CPP-A-191430682/MISRA-checks-supported-in-CLion)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Misra", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Static Analysis Tools", + "index": 72, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IfStdIsConstantEvaluatedCanBeReplaced", + "shortDescription": { + "text": "'if' can be replaced by 'if consteval'" + }, + "fullDescription": { + "text": "'if' can be replaced by 'if consteval'", + "markdown": "'if' can be replaced by 'if consteval'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "IfStdIsConstantEvaluatedCanBeReplaced", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseRangeAlgorithm", + "shortDescription": { + "text": "Algorithm operating on ranges can be used" + }, + "fullDescription": { + "text": "Algorithm accepting iterators is used instead of the corresponding algorithm from std::ranges", + "markdown": "Algorithm accepting iterators is used instead of the corresponding algorithm from std::ranges" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseRangeAlgorithm", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAwaiterTypeIsNotClass", + "shortDescription": { + "text": "Awaiter type is not a class" + }, + "fullDescription": { + "text": "The awaiter type must be a a class according to the C++20 standard", + "markdown": "The awaiter type must be a a class according to the C++20 standard" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppAwaiterTypeIsNotClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantAccessSpecifier", + "shortDescription": { + "text": "Access specifier does not change accessibility level" + }, + "fullDescription": { + "text": "An access specifier does not change the accessibility level and is redundant", + "markdown": "An access specifier does not change the accessibility level and is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantAccessSpecifier", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatLegacyCode", + "shortDescription": { + "text": "Outdated format directive in boost::format" + }, + "fullDescription": { + "text": "A format string of boost::format contains a legacy printf-like code; type specifier is not taken into account", + "markdown": "A format string of boost::format contains a legacy printf-like code; type specifier is not taken into account" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppBoostFormatLegacyCode", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnmatchedPragmaRegionDirective", + "shortDescription": { + "text": "Missing a matching '#pragma endregion' directive" + }, + "fullDescription": { + "text": "A '#pragma region' directive is missing a matching '#pragma endregion' directive", + "markdown": "A '#pragma region' directive is missing a matching '#pragma endregion' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnmatchedPragmaRegionDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAuto", + "shortDescription": { + "text": "Type can be replaced with auto" + }, + "fullDescription": { + "text": "Type can be replaced with 'auto'", + "markdown": "Type can be replaced with 'auto'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseAuto", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred 'auto' style", + "index": 75, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppOutParameterMustBeWritten", + "shortDescription": { + "text": "The 'out' parameter must be assigned" + }, + "fullDescription": { + "text": "In HLSL 'out' parameters must be assigned before exiting the function", + "markdown": "In HLSL 'out' parameters must be assigned before exiting the function" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppOutParameterMustBeWritten", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConditionalExpressionCanBeSimplified", + "shortDescription": { + "text": "Conditional expression can be simplified" + }, + "fullDescription": { + "text": "Conditional expression can be simplified", + "markdown": "Conditional expression can be simplified" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppConditionalExpressionCanBeSimplified", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWarningDirective", + "shortDescription": { + "text": "#warning directive" + }, + "fullDescription": { + "text": "#warning preprocessor directive", + "markdown": "#warning preprocessor directive" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppWarningDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTemplateKeyword", + "shortDescription": { + "text": "Redundant 'template' keyword" + }, + "fullDescription": { + "text": "Redundant 'template' keyword", + "markdown": "Redundant 'template' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedundantTemplateKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantExportKeyword", + "shortDescription": { + "text": "Keyword 'export' is redundant, because there is enclosing export declaration" + }, + "fullDescription": { + "text": "Keyword 'export' is redundant, because there is enclosing export declaration", + "markdown": "Keyword 'export' is redundant, because there is enclosing export declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedundantExportKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAlgorithmWithCount", + "shortDescription": { + "text": "Algorithm accepting an iterator and a count can be used" + }, + "fullDescription": { + "text": "A standard algorithm accepting range iterators is used instead of the variant accepting an iterator and a count", + "markdown": "A standard algorithm accepting range iterators is used instead of the variant accepting an iterator and a count" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseAlgorithmWithCount", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFANotInitializedField", + "shortDescription": { + "text": "Fields that may have not been initialized before their usage" + }, + "fullDescription": { + "text": "Reports fields that may not have been initialized before being used. Initialization and usage may occur in different functions.", + "markdown": "Reports fields that may not have been initialized before being used. Initialization and usage may occur in different functions." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFANotInitializedField", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore", + "shortDescription": { + "text": "User-defined literal suffixes must start with an underscore" + }, + "fullDescription": { + "text": "User-defined literal suffixes must start with an underscore. The suffixes that do not begin with an underscore are reserved for the literal operators provided by the standard library.", + "markdown": "User-defined literal suffixes must start with an underscore. The suffixes that do not begin with an underscore are reserved for the literal operators provided by the standard library." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAssociativeContains", + "shortDescription": { + "text": "'contains' member function can be used" + }, + "fullDescription": { + "text": "'contains' member function can be used", + "markdown": "'contains' member function can be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseAssociativeContains", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFinalFunctionInFinalClass", + "shortDescription": { + "text": "Final function in a final class" + }, + "fullDescription": { + "text": "Redundant 'final' specifier on a function in a final class", + "markdown": "Redundant 'final' specifier on a function in a final class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppFinalFunctionInFinalClass", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationSpecifierWithoutDeclarators", + "shortDescription": { + "text": "Declaration specifier with no declarators" + }, + "fullDescription": { + "text": "A declaration specifier is ignored when there are no declarators", + "markdown": "A declaration specifier is ignored when there are no declarators" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeclarationSpecifierWithoutDeclarators", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDependentTemplateWithoutTemplateKeyword", + "shortDescription": { + "text": "Dependent template without 'template' keyword" + }, + "fullDescription": { + "text": "Dependent template without 'template' keyword", + "markdown": "Dependent template without 'template' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDependentTemplateWithoutTemplateKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMemberInitializersOrder", + "shortDescription": { + "text": "Order of member initializers does not match the initialization order" + }, + "fullDescription": { + "text": "Order of member initializers does not match the initialization order", + "markdown": "Order of member initializers does not match the initialization order" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppMemberInitializersOrder", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred initialization style", + "index": 77, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionIsNotImplemented", + "shortDescription": { + "text": "Function is not implemented" + }, + "fullDescription": { + "text": "A function is not implemented", + "markdown": "A function is not implemented" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppFunctionIsNotImplemented", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfBadFormat", + "shortDescription": { + "text": "Invalid printf format specifier" + }, + "fullDescription": { + "text": "Format string contains an invalid printf format specifier", + "markdown": "Format string contains an invalid printf format specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrintfBadFormat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppZeroConstantCanBeReplacedWithNullptr", + "shortDescription": { + "text": "Zero constant can be replaced with nullptr" + }, + "fullDescription": { + "text": "Zero constant can be replaced with nullptr", + "markdown": "Zero constant can be replaced with nullptr" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppZeroConstantCanBeReplacedWithNullptr", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnnamedNamespaceInHeaderFile", + "shortDescription": { + "text": "Unnamed namespace in a header file" + }, + "fullDescription": { + "text": "Unnamed namespaces should not be used in header files", + "markdown": "Unnamed namespaces should not be used in header files" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnnamedNamespaceInHeaderFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExplicitConvertingConstructor", + "shortDescription": { + "text": "Non-explicit converting constructor" + }, + "fullDescription": { + "text": "Non-explicit converting constructor", + "markdown": "Non-explicit converting constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppNonExplicitConvertingConstructor", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppHeaderHasBeenAlreadyIncluded", + "shortDescription": { + "text": "Guarded header has already been included" + }, + "fullDescription": { + "text": "Guarded header has already been included", + "markdown": "Guarded header has already been included" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppHeaderHasBeenAlreadyIncluded", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtNotInitializedStaticConstLocalVar", + "shortDescription": { + "text": "Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension." + }, + "fullDescription": { + "text": "Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension.", + "markdown": "Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtNotInitializedStaticConstLocalVar", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrecompiledHeaderNotFound", + "shortDescription": { + "text": "Precompiled header is not found" + }, + "fullDescription": { + "text": "No corresponding file with the 'Precompiled Header' property set to 'Create' (/Yc) is found", + "markdown": "No corresponding file with the 'Precompiled Header' property set to 'Create' (/Yc) is found" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CppPrecompiledHeaderNotFound", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReinterpretCastFromVoidPtr", + "shortDescription": { + "text": "reinterpret_cast is used instead of static_cast" + }, + "fullDescription": { + "text": "reinterpret_cast is used instead of static_cast", + "markdown": "reinterpret_cast is used instead of static_cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppReinterpretCastFromVoidPtr", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantParentheses", + "shortDescription": { + "text": "Redundant parentheses" + }, + "fullDescription": { + "text": "Parentheses do not change the order of operations and can be deleted", + "markdown": "Parentheses do not change the order of operations and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantParentheses", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantDereferencingAndTakingAddress", + "shortDescription": { + "text": "Redundant dereferencing and taking address" + }, + "fullDescription": { + "text": "Redundant dereferencing and taking address", + "markdown": "Redundant dereferencing and taking address" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantDereferencingAndTakingAddress", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceOverridingDestructorStyle", + "shortDescription": { + "text": "Enforce overriding destructor style" + }, + "fullDescription": { + "text": "Enforce the 'virtual' and 'override' specifiers on overriding destructors", + "markdown": "Enforce the 'virtual' and 'override' specifiers on overriding destructors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppEnforceOverridingDestructorStyle", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred overriding function style", + "index": 61, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationHidesLocal", + "shortDescription": { + "text": "Hiding local declaration" + }, + "fullDescription": { + "text": "A local declaration hides another local declaration", + "markdown": "A local declaration hides another local declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeclarationHidesLocal", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantVoidArgumentList", + "shortDescription": { + "text": "Redundant void argument list" + }, + "fullDescription": { + "text": "Redundant void argument list", + "markdown": "Redundant void argument list" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantVoidArgumentList", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantQualifierADL", + "shortDescription": { + "text": "Redundant qualifier (ADL)" + }, + "fullDescription": { + "text": "Qualifier is redundant (because of ADL) and can be deleted", + "markdown": "Qualifier is redundant (because of ADL) and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantQualifierADL", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppInconsistentNaming", + "shortDescription": { + "text": "Inconsistent Naming" + }, + "fullDescription": { + "text": "Name doesn't match naming style defined for this kind of symbol", + "markdown": "Name doesn't match naming style defined for this kind of symbol" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppInconsistentNaming", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Constraints Violations", + "index": 78, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReplaceMemsetWithZeroInitialization", + "shortDescription": { + "text": "Zero initialization can be used instead of memset" + }, + "fullDescription": { + "text": "Zero initialization can be used instead of memset", + "markdown": "Zero initialization can be used instead of memset" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppReplaceMemsetWithZeroInitialization", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVirtualFunctionInFinalClass", + "shortDescription": { + "text": "Declaration of a non-overriding virtual function in a final or sealed class" + }, + "fullDescription": { + "text": "A non-overriding virtual function in a final or sealed class cannot be overridden, so the 'virtual' specifier is redundant", + "markdown": "A non-overriding virtual function in a final or sealed class cannot be overridden, so the 'virtual' specifier is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppVirtualFunctionInFinalClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLongFloat", + "shortDescription": { + "text": "'long' floats are not allowed by the C++ standard" + }, + "fullDescription": { + "text": "Declaration specifier 'long' cannot be combined with 'float'", + "markdown": "Declaration specifier 'long' cannot be combined with 'float'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppLongFloat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPossiblyUninitializedMember", + "shortDescription": { + "text": "Possibly uninitialized class member" + }, + "fullDescription": { + "text": "Class constructor does not initialize a field explicitly or implicitly", + "markdown": "Class constructor does not initialize a field explicitly or implicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPossiblyUninitializedMember", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterMayBeConstPtrOrRef", + "shortDescription": { + "text": "Parameter can be made pointer/reference to const" + }, + "fullDescription": { + "text": "Parameter can be made pointer/reference to const", + "markdown": "Parameter can be made pointer/reference to const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppParameterMayBeConstPtrOrRef", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfMissedArg", + "shortDescription": { + "text": "Not enough arguments in a call to printf" + }, + "fullDescription": { + "text": "Not enough arguments in a call to printf. Some format directives do not have matching arguments.", + "markdown": "Not enough arguments in a call to printf. Some format directives do not have matching arguments." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "CppPrintfMissedArg", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDiscardedPostfixOperatorResult", + "shortDescription": { + "text": "Result of a postfix operator is discarded" + }, + "fullDescription": { + "text": "Result of a postfix operator is discarded. It might be more efficient to use a prefix form of the operator.", + "markdown": "Result of a postfix operator is discarded. It might be more efficient to use a prefix form of the operator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppDiscardedPostfixOperatorResult", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClangTidy", + "shortDescription": { + "text": "Clang-Tidy" + }, + "fullDescription": { + "text": "Reports various issues related to The C++ Core Guidelines, Modernize, Readability and Performance. CLion's default configuration is described here. For more information, visit the official Clang-Tidy page. Use the checkbox below to have this inspection ignore the IDE settings and use a list of checks specified in the .clang-tidy file if any exist.", + "markdown": "Reports various issues related to The C++ Core Guidelines, Modernize, Readability and Performance. \nCLion's default configuration is described [here](https://youtrack.jetbrains.com/articles/CPP-A-90276519/Clang-Tidy-in-CLion:-default-configuration). \nFor more information, visit the official [Clang-Tidy](https://clang.llvm.org/extra/clang-tidy/) page.\n\nUse the checkbox below to have this inspection ignore the IDE settings and use a list of checks specified in the **.clang-tidy** file if any exist." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ClangTidy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Static Analysis Tools", + "index": 72, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMismatchedClassTags", + "shortDescription": { + "text": "Mismatched class tags" + }, + "fullDescription": { + "text": "Tags of the declared class do not match previous declarations", + "markdown": "Tags of the declared class do not match previous declarations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMismatchedClassTags", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEntityAssignedButNoRead", + "shortDescription": { + "text": "Declarator is only assigned but never accessed" + }, + "fullDescription": { + "text": "A declarator is only assigned but never accessed", + "markdown": "A declarator is only assigned but never accessed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppEntityAssignedButNoRead", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEmptyDeclaration", + "shortDescription": { + "text": "Declaration does not declare anything" + }, + "fullDescription": { + "text": "A declaration does not declare anything", + "markdown": "A declaration does not declare anything" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppEmptyDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIncompatiblePointerConversion", + "shortDescription": { + "text": "Implicit conversion to incompatible pointer type" + }, + "fullDescription": { + "text": "Implicit conversion to incompatible pointer type", + "markdown": "Implicit conversion to incompatible pointer type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIncompatiblePointerConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatMixedArgs", + "shortDescription": { + "text": "Positional and non-positional arguments in the same boost::format call" + }, + "fullDescription": { + "text": "An argument of boost::format should contain either positional (%N%, %|N$...|) or serial (%|...|, %s) arguments, not both", + "markdown": "An argument of boost::format should contain either positional (%N%, %\\|N$...\\|) or serial (%\\|...\\|, %s) arguments, not both" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "CppBoostFormatMixedArgs", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceFunctionDeclarationStyle", + "shortDescription": { + "text": "Enforce function declaration style" + }, + "fullDescription": { + "text": "Enforce usage of the trailing return type or the regular return type syntax", + "markdown": "Enforce usage of the trailing return type or the regular return type syntax" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CppEnforceFunctionDeclarationStyle", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred declaration style", + "index": 70, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTemplateArguments", + "shortDescription": { + "text": "Redundant template arguments" + }, + "fullDescription": { + "text": "Redundant template arguments", + "markdown": "Redundant template arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantTemplateArguments", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceNestedNamespacesStyle", + "shortDescription": { + "text": "Enforce nested namespaces style" + }, + "fullDescription": { + "text": "Enforce the syntax used to define nested namespaces", + "markdown": "Enforce the syntax used to define nested namespaces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppEnforceNestedNamespacesStyle", + "ideaSeverity": "HINT", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style/Use preferred declaration style", + "index": 70, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAUnreachableCode", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Reports code pieces that are never executed in any control flow and can be removed safely", + "markdown": "Reports code pieces that are never executed in any control flow and can be removed safely" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAUnreachableCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantConditionalExpression", + "shortDescription": { + "text": "Redundant conditional expression" + }, + "fullDescription": { + "text": "Redundant conditional expression", + "markdown": "Redundant conditional expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantConditionalExpression", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFinalNonOverridingVirtualFunction", + "shortDescription": { + "text": "Final non-overriding virtual function" + }, + "fullDescription": { + "text": "A virtual function is marked 'final' and does not override a base function", + "markdown": "A virtual function is marked 'final' and does not override a base function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppFinalNonOverridingVirtualFunction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAConstantParameter", + "shortDescription": { + "text": "Function parameters that always have the same value" + }, + "fullDescription": { + "text": "Reports function parameters that always have the same value", + "markdown": "Reports function parameters that always have the same value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAConstantParameter", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDFAEndlessLoop", + "shortDescription": { + "text": "Endless loop statements" + }, + "fullDescription": { + "text": "Reports 'for', 'while', 'do-while', and 'goto' statements that exit only by throwing an exception", + "markdown": "Reports 'for', 'while', 'do-while', and 'goto' statements that exit only by throwing an exception" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDFAEndlessLoop", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Data Flow Analysis", + "index": 4, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDependentTypeWithoutTypenameKeyword", + "shortDescription": { + "text": "Dependent type without 'typename' keyword" + }, + "fullDescription": { + "text": "Dependent type without 'typename' keyword", + "markdown": "Dependent type without 'typename' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDependentTypeWithoutTypenameKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseFamiliarTemplateSyntaxForGenericLambdas", + "shortDescription": { + "text": "Lambda can be rewritten to use explicit template parameters" + }, + "fullDescription": { + "text": "Lambda can be rewritten to use explicit template parameters", + "markdown": "Lambda can be rewritten to use explicit template parameters" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseFamiliarTemplateSyntaxForGenericLambdas", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Common Practices and Code Improvements", + "index": 6, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantFwdClassOrEnumSpecifier", + "shortDescription": { + "text": "Redundant forward declaration" + }, + "fullDescription": { + "text": "Redundant forward declaration", + "markdown": "Redundant forward declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantFwdClassOrEnumSpecifier", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Redundancies in Code", + "index": 21, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtReinterpretCastFromNullptr", + "shortDescription": { + "text": "Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension" + }, + "fullDescription": { + "text": "Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension", + "markdown": "Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtReinterpretCastFromNullptr", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Potential Code Quality Issues", + "index": 7, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "taxa": [ + { + "id": "Python", + "name": "Python" + }, + { + "id": "JavaScript and TypeScript", + "name": "JavaScript and TypeScript" + }, + { + "id": "JavaScript and TypeScript/Control flow issues", + "name": "Control flow issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++", + "name": "C/C++" + }, + { + "id": "C_C++/Data Flow Analysis", + "name": "Data Flow Analysis", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Compiler Issues", + "name": "Compiler Issues", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Common Practices and Code Improvements", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Angular", + "name": "Angular" + }, + { + "id": "PostCSS", + "name": "PostCSS" + }, + { + "id": "Sass_SCSS", + "name": "Sass/SCSS" + }, + { + "id": "Shell script", + "name": "Shell script" + }, + { + "id": "JavaScript and TypeScript/Unit testing", + "name": "Unit testing", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Makefile", + "name": "Makefile" + }, + { + "id": "CMake", + "name": "CMake" + }, + { + "id": "CMake/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "CMake", + "index": 14, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSON and JSON5", + "name": "JSON and JSON5" + }, + { + "id": "JavaScript and TypeScript/Code style issues", + "name": "Code style issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "name": "Potentially undesirable code constructs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Flow type checker", + "name": "Flow type checker", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Devicetree", + "name": "Devicetree" + }, + { + "id": "HTML", + "name": "HTML" + }, + { + "id": "JavaScript and TypeScript/Unused symbols", + "name": "Unused symbols", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Data flow", + "name": "Data flow", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "name": "Bitwise operation issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Syntax Style", + "name": "Syntax Style", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Syntax Style/Use preferred braces style", + "name": "Use preferred braces style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "name": "ES2015 migration aids", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "General", + "name": "General" + }, + { + "id": "HTML/Accessibility", + "name": "Accessibility", + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/React", + "name": "React", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/TypeScript", + "name": "TypeScript", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Validity issues", + "name": "Validity issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Docker-compose", + "name": "Docker-compose" + }, + { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "name": "Potentially confusing code constructs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS", + "name": "CSS" + }, + { + "id": "CSS/Invalid elements", + "name": "Invalid elements", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Dockerfile", + "name": "Dockerfile" + }, + { + "id": "JavaScript and TypeScript/Try statement issues", + "name": "Try statement issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Structural search", + "name": "Structural search" + }, + { + "id": "JavaScript and TypeScript/Function metrics", + "name": "Function metrics", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAML", + "name": "YAML" + }, + { + "id": "Requirements", + "name": "Requirements" + }, + { + "id": "XML", + "name": "XML" + }, + { + "id": "JavaScript and TypeScript/Assignment issues", + "name": "Assignment issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS/Code style issues", + "name": "Code style issues", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Syntax Style/Use preferred cv-qualifiers style", + "name": "Use preferred cv-qualifiers style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Less", + "name": "Less" + }, + { + "id": "C_C++/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExp", + "name": "RegExp" + }, + { + "id": "Vue", + "name": "Vue" + }, + { + "id": "JavaScript and TypeScript/Node.js", + "name": "Node.js", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Ini files", + "name": "Ini files" + }, + { + "id": "C_C++/Formatting", + "name": "Formatting", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Formatting/Incorrect spacing", + "name": "Incorrect spacing", + "relationships": [ + { + "target": { + "id": "C_C++/Formatting", + "index": 56, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Imports and dependencies", + "name": "Imports and dependencies", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Syntax Style/Use preferred include directive style", + "name": "Use preferred include directive style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RELAX NG", + "name": "RELAX NG" + }, + { + "id": "C_C++/Syntax Style/Use preferred overriding function style", + "name": "Use preferred overriding function style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Naming conventions", + "name": "Naming conventions", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Switch statement issues", + "name": "Switch statement issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/DOM issues", + "name": "DOM issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Async code and promises", + "name": "Async code and promises", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Code quality tools", + "name": "Code quality tools", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 1, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Code Coverage", + "name": "Code Coverage" + }, + { + "id": "Proofreading", + "name": "Proofreading" + }, + { + "id": "C_C++/Syntax Style/Use preferred declaration style", + "name": "Use preferred declaration style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Gitlab CI inspections", + "name": "Gitlab CI inspections" + }, + { + "id": "C_C++/Static Analysis Tools", + "name": "Static Analysis Tools", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Qodana", + "name": "Qodana" + }, + { + "id": "CSS/Code quality tools", + "name": "Code quality tools", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Syntax Style/Use preferred 'auto' style", + "name": "Use preferred 'auto' style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSONPath", + "name": "JSONPath" + }, + { + "id": "C_C++/Syntax Style/Use preferred initialization style", + "name": "Use preferred initialization style", + "relationships": [ + { + "target": { + "id": "C_C++/Syntax Style", + "index": 28, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C_C++/Constraints Violations", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "C_C++", + "index": 3, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Internationalization", + "name": "Internationalization" + }, + { + "id": "TOML", + "name": "TOML" + }, + { + "id": "Version control", + "name": "Version control" + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + "extensions": [ + { + "name": "PythonCore", + "version": "251.21381", + "rules": [ + { + "id": "PyPandasSeriesToListInspection", + "shortDescription": { + "text": "Method Series.to_list() is recommended" + }, + "fullDescription": { + "text": "Reports redundant 'list' in 'list(Series.values)' statement for pandas and polars libraries. Such 'Series' values extraction can be replaced with the 'to_list()' function call. Example: list(df['column'].values)\n When the quick-fix is applied, the code changes to: df['column'].to_list()", + "markdown": "Reports redundant `list` in `list(Series.values)` statement for pandas and polars libraries.\nSuch `Series` values extraction can be replaced with the `to_list()` function call.\n\n**Example:**\n\n```\nlist(df['column'].values)\n```\n\nWhen the quick-fix is applied, the code changes to:\n\n```\ndf['column'].to_list()\n```" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyPackages", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PySetFunctionToLiteralInspection", + "shortDescription": { + "text": "Function call can be replaced with set literal" + }, + "fullDescription": { + "text": "Reports calls to the 'set' function that can be replaced with the 'set' literal. Example: 'def do_mult(a, b):\n c = a * b\n return set([c, a, b])' When the quick-fix is applied, the code changes to: 'def do_mult(a, b):\n c = a * b\n return {c, a, b}'", + "markdown": "Reports calls to the `set` function that can be replaced with\nthe `set` literal.\n\n**Example:**\n\n\n def do_mult(a, b):\n c = a * b\n return set([c, a, b])\n\nWhen the quick-fix is applied, the code changes to:\n\n\n def do_mult(a, b):\n c = a * b\n return {c, a, b}\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PySetFunctionToLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyOverridesInspection", + "shortDescription": { + "text": "Invalid usages of @override decorator" + }, + "fullDescription": { + "text": "Reports when a method decorated with @override doesn't have a matching method in its ancestor classes Example: 'from typing import override\n\nclass Parent:\n def foo(self) -> int:\n return 1\n\n def bar(self, x: str) -> str:\n return x\n\nclass Child(Parent):\n @override\n def foo(self) -> int:\n return 2\n\n @override # Missing super method for override function\n def baz(self) -> int:\n return 1'", + "markdown": "Reports when a method decorated with @override doesn't have a matching method in its ancestor classes\n\n**Example:**\n\n\n from typing import override\n\n class Parent:\n def foo(self) -> int:\n return 1\n\n def bar(self, x: str) -> str:\n return x\n\n class Child(Parent):\n @override\n def foo(self) -> int:\n return 2\n\n @override # Missing super method for override function\n def baz(self) -> int:\n return 1\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyOverrides", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyInitNewSignatureInspection", + "shortDescription": { + "text": "Incompatible signatures of __new__ and __init__" + }, + "fullDescription": { + "text": "Reports incompatible signatures of the '__new__' and '__init__' methods. Example: 'class MyClass(object):\n def __new__(cls, arg1):\n return super().__new__(cls)\n\n def __init__(self):\n pass' If the '__new__' and '__init__' have different arguments, then the 'MyClass' cannot be instantiated. As a fix, the IDE offers to apply the Change Signature refactoring.", + "markdown": "Reports incompatible signatures of the `__new__` and `__init__` methods.\n\n**Example:**\n\n\n class MyClass(object):\n def __new__(cls, arg1):\n return super().__new__(cls)\n\n def __init__(self):\n pass\n\nIf the `__new__` and `__init__` have different arguments, then the `MyClass`\ncannot be instantiated.\n\nAs a fix, the IDE offers to apply the Change Signature refactoring." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyInitNewSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMissingConstructorInspection", + "shortDescription": { + "text": "Missed call to '__init__' of the super class" + }, + "fullDescription": { + "text": "Reports cases when a call to the 'super' constructor in a class is missed. Example: 'class Fruit:\n def __init__(self):\n pass\n\n\nclass Pear(Fruit):\n def __init__(self):\n pass' The 'Pear' class should have a 'super' call in the '__init__' method. When the quick-fix is applied, the code changes to: 'class Fruit:\n def __init__(self):\n pass\n\n\nclass Pear(Fruit):\n def __init__(self):\n super().__init__()'", + "markdown": "Reports cases when a call to the `super` constructor in a class is missed.\n\n**Example:**\n\n\n class Fruit:\n def __init__(self):\n pass\n\n\n class Pear(Fruit):\n def __init__(self):\n pass\n\nThe `Pear` class should have a `super` call in the `__init__`\nmethod.\n\nWhen the quick-fix is applied, the code changes to:\n\n\n class Fruit:\n def __init__(self):\n pass\n\n\n class Pear(Fruit):\n def __init__(self):\n super().__init__()\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyMissingConstructor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PySimplifyBooleanCheckInspection", + "shortDescription": { + "text": "Redundant boolean variable check" + }, + "fullDescription": { + "text": "Reports equality comparison with a boolean literal. Example: 'def func(s):\n if s.isdigit() == True:\n return int(s)' With the quick-fix applied, the code fragment will be simplified to: 'def func(s):\n if s.isdigit():\n return int(s)'", + "markdown": "Reports equality comparison with a boolean literal.\n\n**Example:**\n\n\n def func(s):\n if s.isdigit() == True:\n return int(s)\n\nWith the quick-fix applied, the code fragment will be simplified to:\n\n\n def func(s):\n if s.isdigit():\n return int(s)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PySimplifyBooleanCheck", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyCallingNonCallableInspection", + "shortDescription": { + "text": "Attempt to call a non-callable object" + }, + "fullDescription": { + "text": "Reports a problem when you are trying to call objects that are not callable, like, for example, properties: Example: 'class Record:\n @property\n def as_json(self):\n\njson = Record().as_json()'", + "markdown": "Reports a problem when you are trying\nto call objects that are not callable, like, for example, properties:\n\n**Example:**\n\n\n class Record:\n @property\n def as_json(self):\n\n json = Record().as_json()\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyCallingNonCallable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyUnreachableCodeInspection", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Reports code fragments that cannot be normally reached. Example: 'if True:\n print('Yes')\nelse:\n print('No')' As a fix, you might want to check and modify the algorithm to ensure it implements the expected logic.", + "markdown": "Reports code fragments that cannot be normally reached.\n\n**Example:**\n\n\n if True:\n print('Yes')\n else:\n print('No')\n\nAs a fix, you might want to check and modify the algorithm to ensure it implements\nthe expected logic." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyUnreachableCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyAssertTypeInspection", + "shortDescription": { + "text": "typing.assert_type" + }, + "fullDescription": { + "text": "Checks 'typing.assert_type(val, typ, /)' calls and reports cases when 'val''s inferred type is not 'typ'. Example: 'def greet(name: str) -> None:\n assert_type(name, str) # OK\n assert_type(name, int) # Expected type 'int', got 'str' instead'", + "markdown": "Checks `typing.assert_type(val, typ, /)` calls and reports cases when `val`'s inferred type is not\n`typ`.\n\n**Example:**\n\n\n def greet(name: str) -> None:\n assert_type(name, str) # OK\n assert_type(name, int) # Expected type 'int', got 'str' instead\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyAssertType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyChainedComparisonsInspection", + "shortDescription": { + "text": "Too complex chained comparisons" + }, + "fullDescription": { + "text": "Reports chained comparisons that can be simplified. Example: 'def do_comparison(x):\n xmin = 10\n xmax = 100\n if x >= xmin and x <= xmax:\n pass' The IDE offers to simplify 'if x >= xmin and x <= xmax'. When the quick-fix is applied, the code changes to: 'def do_comparison(x):\n xmin = 10\n xmax = 100\n if xmin <= x <= xmax:\n pass'", + "markdown": "Reports chained comparisons that can be simplified.\n\n**Example:**\n\n\n def do_comparison(x):\n xmin = 10\n xmax = 100\n if x >= xmin and x <= xmax:\n pass\n\nThe IDE offers to simplify `if x >= xmin and x <= xmax`.\nWhen the quick-fix is applied, the code changes to:\n\n\n def do_comparison(x):\n xmin = 10\n xmax = 100\n if xmin <= x <= xmax:\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyChainedComparisons", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyCompatibilityInspection", + "shortDescription": { + "text": "Code is incompatible with specific Python versions" + }, + "fullDescription": { + "text": "Reports incompatibility with the specified versions of Python. Enable this inspection if you need your code to be compatible with a range of Python versions, for example, if you are building a library. To define the range of the inspected Python versions, select the corresponding checkboxes in the Options section. For more information about the Python versions supported by the IDE, see the web help.", + "markdown": "Reports incompatibility with the specified versions of Python.\nEnable this inspection if you need your code to be compatible with a range of Python versions, for example,\nif you are building a library.\n\nTo define the range of the inspected Python versions, select the corresponding checkboxes in the **Options**\nsection.\n\nFor more information about the Python versions supported by the IDE, see the\n[web help](https://www.jetbrains.com/help/pycharm/python.html#support)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PyCompatibility", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyGlobalUndefinedInspection", + "shortDescription": { + "text": "Global variable is not defined at the module level" + }, + "fullDescription": { + "text": "Reports problems when a variable defined through the 'global' statement is not defined in the module scope. Example: 'def foo():\n global bar\n print(bar)\n\nfoo()' As a fix, you can move the global variable declaration: 'global bar\n\n\ndef foo():\n print(bar)'", + "markdown": "Reports problems when a variable defined through the `global`\nstatement is not defined in the module scope.\n\n**Example:**\n\n\n def foo():\n global bar\n print(bar)\n\n foo()\n\nAs a fix, you can move the global variable declaration:\n\n\n global bar\n\n\n def foo():\n print(bar)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyGlobalUndefined", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnsatisfiedRequirementInspection", + "shortDescription": { + "text": "Requirement is not satisfied" + }, + "fullDescription": { + "text": "Reports packages mentioned in requirements files (for example, 'requirements.txt', or 'dependencies' section in 'pyproject.toml' files) but not installed, or imported but not mentioned in requirements files.", + "markdown": "Reports packages mentioned in requirements files (for example, `requirements.txt`, or `dependencies` section in `pyproject.toml` files) but not installed,\nor imported but not mentioned in requirements files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnsatisfiedRequirement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Requirements", + "index": 45, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyProtocolInspection", + "shortDescription": { + "text": "Invalid protocol definitions and usages" + }, + "fullDescription": { + "text": "Reports invalid definitions and usages of protocols introduced in PEP-544. Example: 'from typing import Protocol\n\n\nclass MyProtocol(Protocol):\n def method(self, p: int) -> str:\n pass\n\n\nclass MyClass(MyProtocol):\n def method(self, p: str) -> int: # Type of 'method' is not compatible with 'MyProtocol'\n pass\n\n\nclass MyAnotherProtocol(MyClass, Protocol): # All bases of a protocol must be protocols\n pass'", + "markdown": "Reports invalid definitions and usages of protocols introduced in\n[PEP-544](https://www.python.org/dev/peps/pep-0544/).\n\n**Example:**\n\n\n from typing import Protocol\n\n\n class MyProtocol(Protocol):\n def method(self, p: int) -> str:\n pass\n\n\n class MyClass(MyProtocol):\n def method(self, p: str) -> int: # Type of 'method' is not compatible with 'MyProtocol'\n pass\n\n\n class MyAnotherProtocol(MyClass, Protocol): # All bases of a protocol must be protocols\n pass\n\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyProtocol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTypeHintsInspection", + "shortDescription": { + "text": "Invalid type hints definitions and usages" + }, + "fullDescription": { + "text": "Reports invalid usages of type hints. Example: 'from typing import TypeVar\n\nT0 = TypeVar('T1') # Argument of 'TypeVar' must be 'T0'\n\n\ndef b(p: int) -> int: # Type specified both in a comment and annotation\n # type: (int) -> int\n pass\n\n\ndef c(p1, p2): # Type signature has too many arguments\n # type: (int) -> int\n pass' Available quick-fixes offer various actions. You can rename, remove, or move problematic elements. You can also manually modify type declarations to ensure no warning is shown.", + "markdown": "Reports invalid usages of type hints.\n\n**Example:**\n\n\n from typing import TypeVar\n\n T0 = TypeVar('T1') # Argument of 'TypeVar' must be 'T0'\n\n\n def b(p: int) -> int: # Type specified both in a comment and annotation\n # type: (int) -> int\n pass\n\n\n def c(p1, p2): # Type signature has too many arguments\n # type: (int) -> int\n pass\n\nAvailable quick-fixes offer various actions. You can rename, remove, or move problematic elements. You can also manually modify type declarations to ensure no warning is shown." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTypeHints", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMethodMayBeStaticInspection", + "shortDescription": { + "text": "Method is not declared static" + }, + "fullDescription": { + "text": "Reports any methods that do not require a class instance creation and can be made static. Example: 'class MyClass(object):\n def my_method(self, x):\n print(x)' If a Make function from method quick-fix is applied, the code changes to: 'def my_method(x):\n print(x)\n\n\nclass MyClass(object):\n pass' If you select the Make method static quick-fix, the '@staticmethod' decorator is added: 'class MyClass(object):\n @staticmethod\n def my_method(x):\n print(x)'", + "markdown": "Reports any methods that do not require a class instance creation and can be\nmade static.\n\n**Example:**\n\n\n class MyClass(object):\n def my_method(self, x):\n print(x)\n\nIf a **Make function from method** quick-fix is applied, the code changes to:\n\n\n def my_method(x):\n print(x)\n\n\n class MyClass(object):\n pass\n\nIf you select the **Make method static** quick-fix, the `@staticmethod` decorator is added:\n\n\n class MyClass(object):\n @staticmethod\n def my_method(x):\n print(x)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyMethodMayBeStatic", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDictCreationInspection", + "shortDescription": { + "text": "Dictionary creation can be rewritten by dictionary literal" + }, + "fullDescription": { + "text": "Reports situations when you can rewrite dictionary creation by using a dictionary literal. This approach brings performance improvements. Example: 'dic = {}\ndic['var'] = 1' When the quick-fix is applied, the code changes to: 'dic = {'var': 1}'", + "markdown": "Reports situations when you can rewrite dictionary creation\nby using a dictionary literal.\n\nThis approach brings performance improvements.\n\n**Example:**\n\n\n dic = {}\n dic['var'] = 1\n\nWhen the quick-fix is applied, the code changes to:\n\n\n dic = {'var': 1}\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyDictCreation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyStringFormatInspection", + "shortDescription": { + "text": "Errors in string formatting operations" + }, + "fullDescription": { + "text": "Reports errors in string formatting operations. Example 1: '\"Hello {1}\".format(\"people\")' Example 2: 'def bar():\n return 1\n\n\n\"%s %s\" % bar()' As a fix, you need to rewrite string formatting fragments to adhere to the formatting syntax.", + "markdown": "Reports errors in string formatting operations.\n\n**Example 1:**\n\n\n \"Hello {1}\".format(\"people\")\n\n**Example 2:**\n\n\n def bar():\n return 1\n\n\n \"%s %s\" % bar()\n\nAs a fix, you need to rewrite string formatting fragments to\nadhere to the [formatting syntax](https://docs.python.org/3/library/string.html#format-string-syntax)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyStringFormat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyExceptionInheritInspection", + "shortDescription": { + "text": "Exceptions do not inherit from standard 'Exception' class" + }, + "fullDescription": { + "text": "Reports cases when a custom exception class is raised but does not inherit from the builtin Exception class. Example: 'class A:\n pass\n\n\ndef me_exception():\n raise A()' The proposed quick-fix changes the code to: 'class A(Exception):\n pass\n\n\ndef me_exception():\n raise A()'", + "markdown": "Reports cases when a custom exception class is\nraised but does not inherit from the\n[builtin Exception class](https://docs.python.org/3/library/exceptions.html).\n\n**Example:**\n\n\n class A:\n pass\n\n\n def me_exception():\n raise A()\n\nThe proposed quick-fix changes the code to:\n\n\n class A(Exception):\n pass\n\n\n def me_exception():\n raise A()\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyExceptionInherit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyAssignmentToLoopOrWithParameterInspection", + "shortDescription": { + "text": "Assignments to 'for' loop or 'with' statement parameter" + }, + "fullDescription": { + "text": "Reports the cases when you rewrite a loop variable with an inner loop. Example: 'for i in range(5):\n for i in range(20, 25):\n print(\"Inner\", i)\n print(\"Outer\", i)' It also warns you if a variable declared in the 'with' statement is redeclared inside the statement body: 'with open(\"file\") as f:\n f.read()\n with open(\"file\") as f:'", + "markdown": "Reports the cases when you rewrite a loop variable with an inner loop.\n\n**Example:**\n\n\n for i in range(5):\n for i in range(20, 25):\n print(\"Inner\", i)\n print(\"Outer\", i)\n \nIt also warns you if a variable declared in the `with` statement is redeclared inside the statement body:\n\n\n with open(\"file\") as f:\n f.read()\n with open(\"file\") as f:\n \n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyAssignmentToLoopOrWithParameter", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PySuperArgumentsInspection", + "shortDescription": { + "text": "Wrong arguments to call super" + }, + "fullDescription": { + "text": "Reports cases when any call to 'super(A, B)' does not meet the following requirements: 'B' is an instance of 'A' 'B' a subclass of 'A' Example: 'class Figure:\n def color(self):\n pass\n\n\nclass Rectangle(Figure):\n def color(self):\n pass\n\n\nclass Square(Figure):\n def color(self):\n return super(Rectangle, self).color() # Square is not an instance or subclass of Rectangle' As a fix, you can make the 'Square' an instance of the 'Rectangle' class.", + "markdown": "Reports cases when any call to `super(A, B)` does not meet the\nfollowing requirements:\n\n* `B` is an instance of `A`\n* `B` a subclass of `A`\n\n**Example:**\n\n\n class Figure:\n def color(self):\n pass\n\n\n class Rectangle(Figure):\n def color(self):\n pass\n\n\n class Square(Figure):\n def color(self):\n return super(Rectangle, self).color() # Square is not an instance or subclass of Rectangle\n\nAs a fix, you can make the `Square` an instance of the `Rectangle` class." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PySuperArguments", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyNonAsciiCharInspection", + "shortDescription": { + "text": "File contains non-ASCII character" + }, + "fullDescription": { + "text": "Reports cases in Python 2 when a file contains non-ASCII characters and does not have an encoding declaration at the top. Example: 'class A(object):\n# №5\n def __init__(self):\n pass' In this example, the IDE reports a non-ASCII symbol in a comment and a lack of encoding declaration. Apply the proposed quick-fix to add a missing encoding declaration: '# coding=utf-8\nclass A(object)\n# №5\n def __init__(self):\n pass'", + "markdown": "Reports cases in Python 2 when a file contains non-ASCII characters and does not\nhave an encoding declaration at the top.\n\n**Example:**\n\n\n class A(object):\n # №5\n def __init__(self):\n pass\n\nIn this example, the IDE reports a non-ASCII symbol in a comment and a lack of encoding\ndeclaration. Apply the proposed quick-fix to add a missing encoding declaration:\n\n\n # coding=utf-8\n class A(object)\n # №5\n def __init__(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyNonAsciiChar", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyAbstractClassInspection", + "shortDescription": { + "text": "Class must implement all abstract methods" + }, + "fullDescription": { + "text": "Reports cases when not all abstract properties or methods are defined in a subclass. Example: 'from abc import abstractmethod, ABC\n\n\nclass Figure(ABC):\n\n @abstractmethod\n def do_figure(self):\n pass\n\n\nclass Triangle(Figure):\n def do_triangle(self):\n pass' When the quick-fix is applied, the IDE implements an abstract method for the 'Triangle' class: 'from abc import abstractmethod, ABC\n\n\nclass Figure(ABC):\n\n @abstractmethod\n def do_figure(self):\n pass\n\n\nclass Triangle(Figure):\n def do_figure(self):\n pass\n\n def do_triangle(self):\n pass'", + "markdown": "Reports cases when not all abstract properties or methods are defined in\na subclass.\n\n**Example:**\n\n\n from abc import abstractmethod, ABC\n\n\n class Figure(ABC):\n\n @abstractmethod\n def do_figure(self):\n pass\n\n\n class Triangle(Figure):\n def do_triangle(self):\n pass\n\nWhen the quick-fix is applied, the IDE implements an abstract method for the `Triangle` class:\n\n\n from abc import abstractmethod, ABC\n\n\n class Figure(ABC):\n\n @abstractmethod\n def do_figure(self):\n pass\n\n\n class Triangle(Figure):\n def do_figure(self):\n pass\n\n def do_triangle(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyAbstractClass", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyOldStyleClassesInspection", + "shortDescription": { + "text": "Old-style class contains new-style class features" + }, + "fullDescription": { + "text": "Reports occurrences of new-style class features in old-style classes. The inspection highlights '__slots__', '__getattribute__', and 'super()' inside old-style classes.", + "markdown": "Reports occurrences of\n[new-style class features](https://www.python.org/doc/newstyle/)\nin old-style classes. The inspection highlights\n`__slots__`, `__getattribute__`, and `super()`\ninside old-style classes." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyOldStyleClasses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyBroadExceptionInspection", + "shortDescription": { + "text": "Unclear exception clauses" + }, + "fullDescription": { + "text": "Reports exception clauses that do not provide specific information about the problem. Example: Clauses that do not specify an exception class Clauses that are specified as 'Exception'", + "markdown": "Reports exception clauses that do not provide specific information\nabout the problem.\n\n**Example:**\n\n* Clauses that do not specify an exception class\n* Clauses that are specified as `Exception`" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyBroadException", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTypeCheckerInspection", + "shortDescription": { + "text": "Incorrect type" + }, + "fullDescription": { + "text": "Reports type errors in function call expressions, targets, and return values. In a dynamically typed language, this is possible in a limited number of cases. Types of function parameters can be specified in docstrings or in Python 3 function annotations. Example: 'def foo() -> int:\n return \"abc\" # Expected int, got str\n\n\na: str\na = foo() # Expected str, got int' With the quick-fix, you can modify the problematic types: 'def foo() -> str:\n return \"abc\"\n\n\na: str\na = foo()'", + "markdown": "Reports type errors in function call expressions, targets, and return values. In a dynamically typed language, this is possible in a limited number of cases.\n\nTypes of function parameters can be specified in\ndocstrings or in Python 3 function annotations.\n\n**Example:**\n\n\n def foo() -> int:\n return \"abc\" # Expected int, got str\n\n\n a: str\n a = foo() # Expected str, got int\n\nWith the quick-fix, you can modify the problematic types:\n\n\n def foo() -> str:\n return \"abc\"\n\n\n a: str\n a = foo()\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTypeChecker", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyByteLiteralInspection", + "shortDescription": { + "text": "A byte literal contains a non-ASCII character" + }, + "fullDescription": { + "text": "Reports characters in byte literals that are outside ASCII range. Example: 's = b'№5''", + "markdown": "Reports characters in byte literals that are outside ASCII range.\n\n**Example:**\n\n\n s = b'№5'\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyByteLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UvPackageVersionsInspection", + "shortDescription": { + "text": "Poetry package versions" + }, + "fullDescription": { + "text": "Reports outdated versions of packages in '[dependencies]' and '[dev-dependencies]' sections of 'pyproject.toml'.", + "markdown": "Reports outdated versions of packages in `[dependencies]` and `[dev-dependencies]`\nsections of `pyproject.toml`." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UvPackageVersions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyAugmentAssignmentInspection", + "shortDescription": { + "text": "Assignment can be replaced with augmented assignment" + }, + "fullDescription": { + "text": "Reports assignments that can be replaced with augmented assignments. Example: 'a = 23\nb = 3\na = a + b' After the quick-fix is applied, the code changes to: 'a = 23\nb = 3\na += b'", + "markdown": "Reports assignments that can be replaced with augmented assignments.\n\n**Example:**\n\n\n a = 23\n b = 3\n a = a + b\n\nAfter the quick-fix is applied, the code changes to:\n\n\n a = 23\n b = 3\n a += b\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PyAugmentAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDeprecationInspection", + "shortDescription": { + "text": "Deprecated function, class, or module" + }, + "fullDescription": { + "text": "Reports usages of Python functions, or methods that are marked as deprecated and raise the 'DeprecationWarning' or 'PendingDeprecationWarning' warning. Also, this inspection highlights usages of 'abc.abstractstaticmethod', 'abc.abstractproperty', and 'abc.abstractclassmethod' decorators. Example: 'class Foo:\n @property\n def bar(self):\n import warnings\n warnings.warn(\"this is deprecated\", DeprecationWarning, 2)\n return 5\n\n\nfoo = Foo()\nprint(foo.bar)'", + "markdown": "Reports usages of Python functions, or methods that are marked as\ndeprecated and raise the `DeprecationWarning` or `PendingDeprecationWarning` warning.\n\nAlso, this inspection highlights usages of `abc.abstractstaticmethod`, `abc.abstractproperty`, and `abc.abstractclassmethod`\ndecorators.\n\n**Example:**\n\n\n class Foo:\n @property\n def bar(self):\n import warnings\n warnings.warn(\"this is deprecated\", DeprecationWarning, 2)\n return 5\n\n\n foo = Foo()\n print(foo.bar)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyDeprecation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyUnnecessaryBackslashInspection", + "shortDescription": { + "text": "Unnecessary backslash" + }, + "fullDescription": { + "text": "Reports backslashes in places where line continuation is implicit inside '()', '[]', and '{}'. Example: 'a = ('first', \\\n 'second', 'third')' When the quick-fix is applied, the redundant backslash is deleted.", + "markdown": "Reports backslashes in places where line continuation is implicit inside `()`,\n`[]`, and `{}`.\n\n**Example:**\n\n\n a = ('first', \\\n 'second', 'third')\n\nWhen the quick-fix is applied, the redundant backslash is deleted." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyUnnecessaryBackslash", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyShadowingNamesInspection", + "shortDescription": { + "text": "Shadowing names from outer scopes" + }, + "fullDescription": { + "text": "Reports shadowing names defined in outer scopes. Example: 'def outer(p):\n def inner(p):\n pass' As a quick-fix, the IDE offers to remove a parameter or rename it.", + "markdown": "Reports shadowing names defined in outer scopes.\n\n**Example:**\n\n\n def outer(p):\n def inner(p):\n pass\n\nAs a quick-fix, the IDE offers to remove a parameter or rename it." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyShadowingNames", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyFinalInspection", + "shortDescription": { + "text": "Invalid usages of final classes, methods, and variables" + }, + "fullDescription": { + "text": "Reports invalid usages of final classes, methods and variables. Example: 'from typing import final\n\n\n@final\nclass A:\n def a_method(self):\n pass\n\n\nclass B(A):\n def a_method(self):\n pass'", + "markdown": "Reports invalid usages of final classes,\nmethods and variables.\n\n**Example:**\n\n\n from typing import final\n\n\n @final\n class A:\n def a_method(self):\n pass\n\n\n class B(A):\n def a_method(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyFinal", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PySingleQuotedDocstringInspection", + "shortDescription": { + "text": "Single quoted docstring" + }, + "fullDescription": { + "text": "Reports docstrings that do not adhere to the triple double-quoted string format. Example: 'def calc(self, balance=0):\n 'param: balance'\n self.balance = balance' When the quick-fix is applied, the code changes to: 'def calc(self, balance=0):\n \"\"\"param: balance\"\"\"\n self.balance = balance'", + "markdown": "Reports docstrings that do not adhere to the triple double-quoted string format.\n\n**Example:**\n\n\n def calc(self, balance=0):\n 'param: balance'\n self.balance = balance\n\nWhen the quick-fix is applied, the code changes to:\n\n\n def calc(self, balance=0):\n \"\"\"param: balance\"\"\"\n self.balance = balance\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PySingleQuotedDocstring", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyUnusedLocalInspection", + "shortDescription": { + "text": "Unused local symbols" + }, + "fullDescription": { + "text": "Reports local variables, parameters, and functions that are locally defined, but not used name in a function.", + "markdown": "Reports local variables, parameters, and functions that are locally defined, but not used name in a function." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyUnusedLocal", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyReturnFromInitInspection", + "shortDescription": { + "text": "__init__ method that returns a value" + }, + "fullDescription": { + "text": "Reports occurrences of 'return' statements with a return value inside '__init__' methods of classes. Example: 'class Sum:\n def __init__(self, a, b):\n self.a = a\n self.b = b\n self.sum = a + b\n return self.sum' A constructor should not return any value. The '__init__' method should only initialize the values of instance members for news objects. As a quick-fix, the IDE offers to remove the 'return' statement.", + "markdown": "Reports occurrences of `return` statements with a return value inside\n`__init__` methods of classes.\n\n**Example:**\n\n\n class Sum:\n def __init__(self, a, b):\n self.a = a\n self.b = b\n self.sum = a + b\n return self.sum\n\nA constructor should not return any value. The `__init__` method should\nonly initialize the values of instance members for news objects.\n\nAs a quick-fix, the IDE offers to remove the `return` statement." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyReturnFromInit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMissingOrEmptyDocstringInspection", + "shortDescription": { + "text": "Missing or empty docstring" + }, + "fullDescription": { + "text": "Reports missing and empty docstrings. Example of a missing docstring 'def demo(a):\n c = a ** 2' Example of an empty docstring 'def demo(a):\n \"\"\"\n \"\"\"\n c = a ** 2' When the quick-fix is applied, the code fragments change to: 'def demo(a):\n \"\"\"\n\n :param a:\n \"\"\"\n c = a ** 2' You need to provide some details about the parameter in the generated template.", + "markdown": "Reports missing and empty docstrings.\n\n**Example of a missing docstring**\n\n\n def demo(a):\n c = a ** 2\n\n**Example of an empty docstring**\n\n\n def demo(a):\n \"\"\"\n \"\"\"\n c = a ** 2\n\nWhen the quick-fix is applied, the code fragments change to:\n\n\n def demo(a):\n \"\"\"\n\n :param a:\n \"\"\"\n c = a ** 2\n\nYou need to provide some details about the parameter in the generated template." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PyMissingOrEmptyDocstring", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyPep8NamingInspection", + "shortDescription": { + "text": "PEP 8 naming convention violation" + }, + "fullDescription": { + "text": "Reports violations of the PEP8 naming conventions. Example: 'class mammalia(object):\n extremities = 4\n\n def feeds(self):\n print(\"milk\")' In this code fragment, IDE offers to rename 'mammalia' to 'Mammalia'. When the quick-fix is applied, the code change to: 'class Mammalia(object):\n extremities = 4\n\n def feeds(self):\n print(\"milk\")'", + "markdown": "Reports violations of the\n[PEP8](https://www.python.org/dev/peps/pep-0008/) naming conventions.\n\n**Example:**\n\n\n class mammalia(object):\n extremities = 4\n\n def feeds(self):\n print(\"milk\")\n\nIn this code fragment, IDE offers to rename `mammalia` to `Mammalia`.\nWhen the quick-fix is applied, the code change to:\n\n\n class Mammalia(object):\n extremities = 4\n\n def feeds(self):\n print(\"milk\")\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyPep8Naming", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDictDuplicateKeysInspection", + "shortDescription": { + "text": "Dictionary contains duplicate keys" + }, + "fullDescription": { + "text": "Reports using the same value as the dictionary key twice. Example: 'dic = {\"a\": [1, 2], \"a\": [3, 4]}'", + "markdown": "Reports using the same value as the dictionary key twice.\n\n**Example:**\n\n\n dic = {\"a\": [1, 2], \"a\": [3, 4]}\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyDictDuplicateKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyNoneFunctionAssignmentInspection", + "shortDescription": { + "text": "Assigning function calls that don't return anything" + }, + "fullDescription": { + "text": "Reports cases when an assignment is done on a function that does not return anything. This inspection is similar to pylint inspection E1111. Example: 'def just_print():\n print(\"Hello!\")\n\n\naction = just_print()' As a quick-fix, the IDE offers to remove the assignment.", + "markdown": "Reports cases when an assignment is done on a function that does not return anything.\nThis inspection is similar to [pylint inspection E1111](https://docs.pylint.org/en/1.6.0/features.html#id6).\n\n**Example:**\n\n\n def just_print():\n print(\"Hello!\")\n\n\n action = just_print()\n\nAs a quick-fix, the IDE offers to remove the assignment." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyNoneFunctionAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyStatementEffectInspection", + "shortDescription": { + "text": "Statement has no effect" + }, + "fullDescription": { + "text": "Reports statements that have no effect. Example: 'class Car:\n def __init__(self, speed=0):\n self.speed = speed\n self.time # has no effect\n\n2 + 3 # has no effect' In this example, you can either add a field 'time' to the 'Car' class or introduce variables for the problematic statements.", + "markdown": "Reports statements that have no effect.\n\n**Example:**\n\n\n class Car:\n def __init__(self, speed=0):\n self.speed = speed\n self.time # has no effect\n\n 2 + 3 # has no effect\n\nIn this example, you can either add a field `time` to the `Car` class or\nintroduce variables for the problematic statements." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyStatementEffect", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMandatoryEncodingInspection", + "shortDescription": { + "text": "No encoding specified for file" + }, + "fullDescription": { + "text": "Reports a missing encoding comment in Python 2. Example: 'class Book(object):\n def __init__(self):\n pass' When the quick-fix is applied, the missing comment is added: '# coding=utf-8\nclass Book(object):\n def __init__(self):\n pass'", + "markdown": "Reports a missing encoding comment in Python 2.\n\n**Example:**\n\n\n class Book(object):\n def __init__(self):\n pass\n\nWhen the quick-fix is applied, the missing comment is added:\n\n\n # coding=utf-8\n class Book(object):\n def __init__(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PyMandatoryEncoding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyInconsistentIndentationInspection", + "shortDescription": { + "text": "Inconsistent indentation" + }, + "fullDescription": { + "text": "Reports inconsistent indentation in Python source files when, for example, you use a mixture of tabs and spaces in your code.", + "markdown": "Reports inconsistent indentation in Python source files when, for example,\nyou use a mixture of tabs and spaces in your code." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyInconsistentIndentation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyAttributeOutsideInitInspection", + "shortDescription": { + "text": "An instance attribute is defined outside `__init__`" + }, + "fullDescription": { + "text": "Reports a problem when instance attribute definition is outside '__init__' method. Example: 'class Book:\n def __init__(self):\n self.author = 'Mark Twain'\n\n def release(self):\n self.year = '1889'' When the quick-fix is applied, the code sample changes to: 'class Book:\n def __init__(self):\n self.year = '1889'\n self.author = 'Mark Twain'\n\n def release(self):\n pass'", + "markdown": "Reports a problem when instance attribute definition is outside `__init__` method.\n\n**Example:**\n\n\n class Book:\n def __init__(self):\n self.author = 'Mark Twain'\n\n def release(self):\n self.year = '1889'\n\n\nWhen the quick-fix is applied, the code sample changes to:\n\n\n class Book:\n def __init__(self):\n self.year = '1889'\n self.author = 'Mark Twain'\n\n def release(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyAttributeOutsideInit", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTypedDictInspection", + "shortDescription": { + "text": "Invalid TypedDict definition and usages" + }, + "fullDescription": { + "text": "Reports invalid definition and usage of TypedDict. Example: 'from typing import TypedDict\n\n\nclass Movie(TypedDict):\n name: str\n year: int\n rate: int = 10 # Right-hand side values are not supported\n\n def method(self): # Invalid statement in TypedDict\n pass\n\n\nm = Movie(name=\"name\", year=1000, rate=9)\nprint(m[\"director\"]) # There is no the 'director' key in 'Movie'\ndel m[\"name\"] # The 'name' key cannot be deleted\nm[\"year\"] = \"1001\" # Expected 'int', got 'str''", + "markdown": "Reports invalid definition and usage of\n[TypedDict](https://www.python.org/dev/peps/pep-0589/).\n\n**Example:**\n\n\n from typing import TypedDict\n\n\n class Movie(TypedDict):\n name: str\n year: int\n rate: int = 10 # Right-hand side values are not supported\n\n def method(self): # Invalid statement in TypedDict\n pass\n\n\n m = Movie(name=\"name\", year=1000, rate=9)\n print(m[\"director\"]) # There is no the 'director' key in 'Movie'\n del m[\"name\"] # The 'name' key cannot be deleted\n m[\"year\"] = \"1001\" # Expected 'int', got 'str'\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTypedDict", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyPep8Inspection", + "shortDescription": { + "text": "PEP 8 coding style violation" + }, + "fullDescription": { + "text": "Reports violations of the PEP 8 coding style guide by running the bundled pycodestyle.py tool.", + "markdown": "Reports violations of the [PEP 8 coding style guide](https://www.python.org/dev/peps/pep-0008/) by running the bundled [pycodestyle.py](https://github.com/PyCQA/pycodestyle) tool." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyPep8", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMissingTypeHintsInspection", + "shortDescription": { + "text": "Missing type hinting for function definition" + }, + "fullDescription": { + "text": "Reports missing type hints for function declaration in one of the two formats: parameter annotations or a type comment. Select the Only when types are known checkbox if you want the inspection check the types collected from runtime or inferred.", + "markdown": "Reports missing type hints for function declaration in\none of the two formats: parameter annotations or a type comment.\n\nSelect the **Only when types are known** checkbox if you want the inspection check\nthe types collected from runtime or inferred." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PyMissingTypeHints", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTupleItemAssignmentInspection", + "shortDescription": { + "text": "Tuple item assignment is prohibited" + }, + "fullDescription": { + "text": "Reports assignments to a tuple item. Example: 't = ('red', 'blue', 'green', 'white')\nt[3] = 'black'' A quick-fix offers to replace the tuple with a list.", + "markdown": "Reports assignments to a tuple item.\n\n**Example:**\n\n\n t = ('red', 'blue', 'green', 'white')\n t[3] = 'black'\n\nA quick-fix offers to replace the tuple with a list." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTupleItemAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDunderSlotsInspection", + "shortDescription": { + "text": "Invalid usages of classes with '__slots__' definitions" + }, + "fullDescription": { + "text": "Reports invalid usages of a class with '__slots__' definitions. Example: 'class Foo:\n __slots__ = ['foo', 'bar']\n\n\nfoo = Foo()\nfoo.baz = 'spam''", + "markdown": "Reports invalid usages of a class with `__slots__` definitions.\n\n**Example:**\n\n\n class Foo:\n __slots__ = ['foo', 'bar']\n\n\n foo = Foo()\n foo.baz = 'spam'\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyDunderSlots", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDefaultArgumentInspection", + "shortDescription": { + "text": "The default argument is mutable" + }, + "fullDescription": { + "text": "Reports a problem when a mutable value as a list or dictionary is detected in a default value for an argument. Default argument values are evaluated only once at function definition time, which means that modifying the default value of the argument will affect all subsequent calls of that function. Example: 'def func(s, cache={}):\n cache[s] = None' When the quick-fix is applied, the code changes to: 'def func(s, cache=None):\n if cache is None:\n cache = {}\n cache[s] = None'", + "markdown": "Reports a problem when a mutable value as a list or dictionary is detected in a default value for\nan argument. \n\nDefault argument values are evaluated only once at function definition time,\nwhich means that modifying the\ndefault value of the argument will affect all subsequent calls of that function.\n\n**Example:**\n\n\n def func(s, cache={}):\n cache[s] = None\n\nWhen the quick-fix is applied, the code changes to:\n\n\n def func(s, cache=None):\n if cache is None:\n cache = {}\n cache[s] = None\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyDefaultArgument", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTestUnpassedFixtureInspection", + "shortDescription": { + "text": "Fixture is not requested by test functions" + }, + "fullDescription": { + "text": "Reports if a fixture is used without being passed to test function parameters or to '@pytest.mark.usefixtures' decorator", + "markdown": "Reports if a fixture is used without being passed to test function parameters or to `@pytest.mark.usefixtures` decorator" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTestUnpassedFixture", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyShadowingBuiltinsInspection", + "shortDescription": { + "text": "Shadowing built-in names" + }, + "fullDescription": { + "text": "Reports shadowing built-in names, such as 'len' or 'list'. Example: 'def len(a, b, c):\n d = a + b + c\n return d' In this code fragment, the 'len' built-in name is used. The IDE offers to apply the Rename refactoring as a fix.", + "markdown": "Reports shadowing built-in names, such as `len` or `list`.\n\n**Example:**\n\n\n def len(a, b, c):\n d = a + b + c\n return d\n\nIn this code fragment, the `len` built-in name is used. The IDE offers to\napply the Rename refactoring as a fix." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyShadowingBuiltins", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PoetryPackageVersionsInspection", + "shortDescription": { + "text": "Poetry package versions" + }, + "fullDescription": { + "text": "Reports outdated versions of packages in '[tool.poetry.dependencies]' and '[tool.poetry.dev-dependencies]' sections of 'pyproject.toml'.", + "markdown": "Reports outdated versions of packages in `[tool.poetry.dependencies]` and `[tool.poetry.dev-dependencies]`\nsections of `pyproject.toml`." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PoetryPackageVersions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMethodOverridingInspection", + "shortDescription": { + "text": "Method signature does not match signature of overridden method" + }, + "fullDescription": { + "text": "Reports inconsistencies in overriding method signatures. Example: 'class Book:\n def add_title(self):\n pass\n\n\nclass Novel(Book):\n def add_title(self, text):\n pass' Parameters of the 'add_title' method in the 'Novel' class do not match the method signature specified in the 'Book' class. As a fix, the IDE offers to apply the Change Signature refactoring.", + "markdown": "Reports inconsistencies in overriding method signatures.\n\n**Example:**\n\n\n class Book:\n def add_title(self):\n pass\n\n\n class Novel(Book):\n def add_title(self, text):\n pass\n\nParameters of the `add_title` method in the `Novel` class do not match the method\nsignature specified in the `Book` class. As a fix, the IDE offers to apply the Change Signature\nrefactoring." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyMethodOverriding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTestParametrizedInspection", + "shortDescription": { + "text": "Incorrect arguments in @pytest.mark.parametrize" + }, + "fullDescription": { + "text": "Reports functions that are decorated with @pytest.mark.parametrize but do not have arguments to accept parameters of the decorator.", + "markdown": "Reports functions that are decorated with [@pytest.mark.parametrize](https://docs.pytest.org/en/stable/parametrize.html) but do not have arguments to accept\nparameters of the decorator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTestParametrized", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDecoratorInspection", + "shortDescription": { + "text": "Class-specific decorator is used outside the class" + }, + "fullDescription": { + "text": "Reports usages of '@classmethod' or '@staticmethod' decorators in methods outside a class. Example: 'class State(object):\n\n @classmethod\n def my_state(cls, name):\n cls.name = name\n\n\n@classmethod\ndef change_state(self):\n pass' The 'change_state' method should not use the '@classmethod' decorator or it should be moved to the 'State' class declaration. If you apply the 'Remove decorator' action, the code changes to: 'class State(object):\n\n @classmethod\n def my_state(cls, name):\n cls.name = name\n\n\ndef change_state(self):\n pass'", + "markdown": "Reports usages of `@classmethod` or `@staticmethod` decorators\nin methods outside a class.\n\n**Example:**\n\n\n class State(object):\n\n @classmethod\n def my_state(cls, name):\n cls.name = name\n\n\n @classmethod\n def change_state(self):\n pass\n\nThe `change_state` method should not use the `@classmethod` decorator or it should be\nmoved to the `State` class declaration.\n\nIf you apply the `Remove decorator` action, the code changes to:\n\n\n class State(object):\n\n @classmethod\n def my_state(cls, name):\n cls.name = name\n\n\n def change_state(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyDecorator", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyAsyncCallInspection", + "shortDescription": { + "text": "Missing `await` syntax in coroutine calls" + }, + "fullDescription": { + "text": "Reports coroutines that were called without using the 'await' syntax. Example: 'async def bar():\n pass\n\n\nasync def foo():\n bar()' After the quick-fix is applied, the code changes to: 'async def bar():\n pass\n\n\nasync def foo():\n await bar()'", + "markdown": "Reports coroutines that were called\nwithout using the `await` syntax.\n\n**Example:**\n\n\n async def bar():\n pass\n\n\n async def foo():\n bar()\n\nAfter the quick-fix is applied, the code changes to:\n\n\n async def bar():\n pass\n\n\n async def foo():\n await bar()\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyAsyncCall", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CommandLineInspection", + "shortDescription": { + "text": "Incorrect CLI syntax" + }, + "fullDescription": { + "text": "Reports the problems if the arguments of the command you type in the console are not in the proper order. The inspection also verifies that option names and arguments are correct. Do not disable the inspection if you are going to use command-line interfaces like manage.py in Django.", + "markdown": "Reports the problems if the arguments of the command you type in the console are not in the proper order. The inspection also verifies\nthat option names and arguments are correct.\n\nDo not disable the inspection if you are going to use command-line interfaces like [manage.py in Django](https://www.jetbrains.com/help/pycharm/running-manage-py.html)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CommandLineInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyComparisonWithNoneInspection", + "shortDescription": { + "text": "Using equality operators to compare with None" + }, + "fullDescription": { + "text": "Reports comparisons with 'None'. That type of comparisons should always be done with 'is' or 'is not', never the equality operators. Example: 'a = 2\n\n\nif a == None:\n print(\"Success\")' Once the quick-fix is applied, the code changes to: 'a = 2\n\n\nif a is None:\n print(\"Success\")'", + "markdown": "Reports comparisons with `None`. That type of comparisons\nshould always be done with `is` or `is not`, never\nthe equality operators.\n\n**Example:**\n\n\n a = 2\n\n\n if a == None:\n print(\"Success\")\n\nOnce the quick-fix is applied, the code changes to:\n\n\n a = 2\n\n\n if a is None:\n print(\"Success\")\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyComparisonWithNone", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMethodParametersInspection", + "shortDescription": { + "text": "Improper first parameter" + }, + "fullDescription": { + "text": "Reports methods that lack the first parameter that is usually named 'self'. Example: 'class Movie:\n\n def show():\n pass' When the quick-fix is applied, the code changes to: 'class Movie:\n\n def show(self):\n pass' The inspection also reports naming issues in class methods. Example: 'class Movie:\n @classmethod\n def show(abc):\n pass' Since the first parameter of a class method should be 'cls', the IDE provides a quick-fix to rename it.", + "markdown": "Reports methods that lack the first parameter that is usually\nnamed `self`.\n\n**Example:**\n\n\n class Movie:\n\n def show():\n pass\n\nWhen the quick-fix is applied, the code changes to:\n\n\n class Movie:\n\n def show(self):\n pass\n\nThe inspection also reports naming issues in class methods.\n\n**Example:**\n\n\n class Movie:\n @classmethod\n def show(abc):\n pass\n\nSince the first parameter of a class method should be `cls`, the IDE provides a quick-fix\nto rename it." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyMethodParameters", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDocstringTypesInspection", + "shortDescription": { + "text": "Type in docstring does not match inferred type" + }, + "fullDescription": { + "text": "Reports types in docstring that do not match dynamically inferred types.", + "markdown": "Reports types in docstring that do not match dynamically inferred types." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyDocstringTypes", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyMethodFirstArgAssignmentInspection", + "shortDescription": { + "text": "First argument of the method is reassigned" + }, + "fullDescription": { + "text": "Reports cases when the first parameter, such as 'self' or 'cls', is reassigned in a method. Because in most cases, there are no objectives in such reassignment, the IDE indicates an error. Example: 'class Account:\n def calc(self, balance):\n if balance == 0:\n self = balance\n return self' As a fix, you might want to check and modify the algorithm to ensure that reassignment is needed. If everything is correct, you can invoke intention actions for this code and opt to ignore the warning.", + "markdown": "Reports cases when the first parameter,\nsuch as `self` or `cls`, is reassigned in a method.\nBecause in most cases, there are no objectives in such reassignment, the\nIDE indicates an error.\n\n**Example:**\n\n\n class Account:\n def calc(self, balance):\n if balance == 0:\n self = balance\n return self\n\nAs a fix, you might want to check and modify the algorithm to ensure that reassignment is needed. If everything is correct,\nyou can invoke intention actions for this code and opt to ignore the warning." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyMethodFirstArgAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyNewStyleGenericSyntaxInspection", + "shortDescription": { + "text": "Invalid usage of new-style type parameters and type aliases" + }, + "fullDescription": { + "text": "Reports invalid usage of PEP 695 type parameter syntax Finds the following problems in function and class definitions and new-style type alias statements: Extending typing.Generic in new-style generic classes Extending parameterized typing.Protocol in new-style generic classes Using generic upper bounds and constraints with type parameters for ParamSpec and TypeVarTuple Mixing traditional and new-style type variables Using traditional type variables in new-style type aliases Examples: 'from typing import Generic\n\n class Example[T](Generic[T]): ... # Classes with type parameter list should not extend 'Generic'' 'class Example[T: (list[S], str)]: ... # Generic types are not allowed inside constraints and bounds of type parameters' 'from typing import TypeVar\n\n K = TypeVar(\"K\")\n\n class ClassC[V]:\n def method2[M](self, a: M, b: K) -> M | K: ... # Mixing traditional and new-style TypeVars is not allowed'", + "markdown": "Reports invalid usage of [PEP 695](https://www.python.org/dev/peps/pep-0695/) type parameter syntax\n\n\nFinds the following problems in function and class definitions and new-style type alias statements:\n\n* Extending typing.Generic in new-style generic classes\n* Extending parameterized typing.Protocol in new-style generic classes\n* Using generic upper bounds and constraints with type parameters for ParamSpec and TypeVarTuple\n* Mixing traditional and new-style type variables\n* Using traditional type variables in new-style type aliases\n\n\nExamples:\n\n\n from typing import Generic\n\n class Example[T](Generic[T]): ... # Classes with type parameter list should not extend 'Generic'\n\n\n class Example[T: (list[S], str)]: ... # Generic types are not allowed inside constraints and bounds of type parameters\n\n\n from typing import TypeVar\n\n K = TypeVar(\"K\")\n\n class ClassC[V]:\n def method2[M](self, a: M, b: K) -> M | K: ... # Mixing traditional and new-style TypeVars is not allowed\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyNewStyleGenericSyntax", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTupleAssignmentBalanceInspection", + "shortDescription": { + "text": "Tuple assignment balance is incorrect" + }, + "fullDescription": { + "text": "Reports cases when the number of expressions on the right-hand side and targets on the left-hand side are not the same. Example: 't = ('red', 'blue', 'green', 'white')\n(c1, c2, c3) = t' As a quick-fix, you can modify the highlighted code fragment to restore the tuple balance.", + "markdown": "Reports cases when the number of expressions on the right-hand side\nand targets on the left-hand side are not the same.\n\n**Example:**\n\n\n t = ('red', 'blue', 'green', 'white')\n (c1, c2, c3) = t\n\nAs a quick-fix, you can modify the highlighted code fragment to restore the tuple\nbalance." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTupleAssignmentBalance", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyClassHasNoInitInspection", + "shortDescription": { + "text": "Class has no `__init__` method" + }, + "fullDescription": { + "text": "Reports cases in Python 2 when a class has no '__init__' method, neither its parent classes. Example: 'class Book():\n pass' The quick-fix adds the '__init__' method: 'class Book():\n def __init__(self):\n pass'", + "markdown": "Reports cases in Python 2 when a class has no `__init__` method, neither its parent\nclasses.\n\n**Example:**\n\n\n class Book():\n pass\n\nThe quick-fix adds the `__init__` method:\n\n\n class Book():\n def __init__(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyClassHasNoInit", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyArgumentEqualDefaultInspection", + "shortDescription": { + "text": "The function argument is equal to the default parameter value" + }, + "fullDescription": { + "text": "Reports a problem when an argument passed to the function is equal to the default parameter value. This inspection is disabled by default to avoid performance degradation. Example: 'def my_function(a: int = 2):\n print(a)\n\n\nmy_function(2)'", + "markdown": "Reports a problem when an argument\npassed to the function is equal to the default parameter value.\n\nThis inspection is disabled by default to avoid performance degradation.\n\n**Example:**\n\n\n def my_function(a: int = 2):\n print(a)\n\n\n my_function(2)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PyArgumentEqualDefault", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyClassVarInspection", + "shortDescription": { + "text": "Invalid usage of ClassVar variables" + }, + "fullDescription": { + "text": "Reports invalid usages of ClassVar annotations. Example: 'from typing import ClassVar\n\n\nclass Cat:\n color: ClassVar[str] = \"white\"\n weight: int\n\n def __init__(self, weight: int):\n self.weight = weight\n\n\nCat.color = \"black\" # OK\nmy_cat = Cat(5)\nmy_cat.color = \"gray\" # Error, setting class variable on instance'", + "markdown": "Reports invalid usages of [ClassVar](https://docs.python.org/3/library/typing.html#typing.ClassVar) annotations.\n\n**Example:**\n\n\n from typing import ClassVar\n\n\n class Cat:\n color: ClassVar[str] = \"white\"\n weight: int\n\n def __init__(self, weight: int):\n self.weight = weight\n\n\n Cat.color = \"black\" # OK\n my_cat = Cat(5)\n my_cat.color = \"gray\" # Error, setting class variable on instance\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyClassVar", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyFromFutureImportInspection", + "shortDescription": { + "text": "Improper position of from __future__ import" + }, + "fullDescription": { + "text": "Reports 'from __future__ import' statements that are used not at the beginning of a file. Example: 'a = 1\nfrom __future__ import print_function\nprint()' When the quick-fix is applied, the code changes to: 'from __future__ import print_function\n\na = 1\nprint()'", + "markdown": "Reports `from __future__ import`\nstatements that are used not at\nthe beginning of a file.\n\n**Example:**\n\n\n a = 1\n from __future__ import print_function\n print()\n\nWhen the quick-fix is applied, the code changes to:\n\n\n from __future__ import print_function\n\n a = 1\n print()\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyFromFutureImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyUnresolvedReferencesInspection", + "shortDescription": { + "text": "Unresolved references" + }, + "fullDescription": { + "text": "Reports references in your code that cannot be resolved. In a dynamically typed language, this is possible in a limited number of cases. If a reference type is unknown, then its attributes are not highlighted as unresolved even if you know that they should be: 'def print_string(s):\n print(s.abc())' In this code fragment 's' is always a string and 'abc' should be highlighted as unresolved. However, 's' type is inferred as 'Any' and no warning is reported. The IDE provides quick-fix actions to add missing references on-the-fly.", + "markdown": "Reports references in your code that cannot be resolved.\n\nIn a dynamically typed language, this is possible in a limited number of cases.\n\nIf a reference type is unknown, then its attributes are not highlighted as unresolved even if you know that they should be:\n\n\n def print_string(s):\n print(s.abc())\n\nIn this code fragment `s` is always a string and `abc` should be highlighted as unresolved. However, `s`\ntype is inferred as `Any` and no warning is reported.\n\nThe IDE provides quick-fix actions to add missing references on-the-fly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PyUnresolvedReferences", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyPackageRequirementsInspection", + "shortDescription": { + "text": "Unsatisfied package requirements" + }, + "fullDescription": { + "text": "Reports packages mentioned in requirements files (for example, 'requirements.txt' or 'Pipfile') but not installed, or imported but not mentioned in requirements files. The IDE shows a quick-fix banner so that you can install the missing packages in one click.", + "markdown": "Reports packages mentioned in requirements files (for example, `requirements.txt` or `Pipfile`) but not installed,\nor imported but not mentioned in requirements files.\n\n\nThe IDE shows a quick-fix banner so that you can install the missing packages in one click." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyPackageRequirements", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyTrailingSemicolonInspection", + "shortDescription": { + "text": "Prohibited trailing semicolon in a statement" + }, + "fullDescription": { + "text": "Reports trailing semicolons in statements. Example: 'def my_func(a):\n c = a ** 2;\n return c' IDE provides a quick-fix that removes a trailing semicolon. When you apply it, the code changes to: 'def my_func(a):\n c = a ** 2\n return c'", + "markdown": "Reports trailing semicolons in statements.\n\n**Example:**\n\n\n def my_func(a):\n c = a ** 2;\n return c\n\nIDE provides a quick-fix that removes a trailing semicolon. When you\napply it, the code changes to:\n\n\n def my_func(a):\n c = a ** 2\n return c\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyTrailingSemicolon", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyRedundantParenthesesInspection", + "shortDescription": { + "text": "Redundant parentheses" + }, + "fullDescription": { + "text": "Reports about redundant parentheses in expressions. The IDE provides the quick-fix action to remove the redundant parentheses.", + "markdown": "Reports about redundant parentheses in expressions.\n\nThe IDE provides the quick-fix action to remove the redundant parentheses." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyRedundantParentheses", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyArgumentListInspection", + "shortDescription": { + "text": "Incorrect call arguments" + }, + "fullDescription": { + "text": "Reports discrepancies between declared parameters and actual arguments, as well as incorrect arguments, for example, duplicate named arguments, and incorrect argument order. Example: 'class Foo:\n def __call__(self, p1: int, *, p2: str = \"%\"):\n return p2 * p1\n\n\nbar = Foo()\nbar.__call__() # unfilled parameter\nbar(5, \"#\") # unexpected argument' The correct code fragment looks at follows: 'class Foo:\n def __call__(self, p1: int, *, p2: str = \"%\"):\n return p2 * p1\n\n\nbar = Foo()\nbar.__call__(5)\nbar(5, p2=\"#\")'", + "markdown": "Reports discrepancies between declared parameters and actual arguments, as well as\nincorrect arguments, for example, duplicate named arguments, and incorrect argument order.\n\n**Example:**\n\n\n class Foo:\n def __call__(self, p1: int, *, p2: str = \"%\"):\n return p2 * p1\n\n\n bar = Foo()\n bar.__call__() # unfilled parameter\n bar(5, \"#\") # unexpected argument\n\nThe correct code fragment looks at follows:\n\n\n class Foo:\n def __call__(self, p1: int, *, p2: str = \"%\"):\n return p2 * p1\n\n\n bar = Foo()\n bar.__call__(5)\n bar(5, p2=\"#\")\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyArgumentList", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyInterpreterInspection", + "shortDescription": { + "text": "An invalid interpreter" + }, + "fullDescription": { + "text": "Reports problems if there is no Python interpreter configured for the project or if the interpreter is invalid. Without a properly configured interpreter, you cannot execute your Python scripts and benefit from some Python code insight features. The IDE provides quick access to the interpreter settings.", + "markdown": "Reports problems if there is no Python interpreter configured for the project or if the interpreter is invalid. Without a properly\nconfigured interpreter, you cannot execute your Python scripts and benefit from some Python code insight features.\n\nThe IDE provides quick access to the interpreter settings." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PyInterpreter", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyPropertyAccessInspection", + "shortDescription": { + "text": "Inappropriate access to properties" + }, + "fullDescription": { + "text": "Reports cases when properties are accessed inappropriately: Read-only properties are set Write-only properties are read Non-deletable properties are deleted Example: 'class MyClass:\n @property\n def read_only(self): return None\n\n def __write_only_setter(self, value): pass\n\n write_only = property(None, __write_only_setter)\n\n\na = MyClass()\na.read_only = 10 # property cannot be set\ndel a.read_only # property cannot be deleted\nprint(a.write_only) # property cannot be read'", + "markdown": "Reports cases when properties are accessed inappropriately:\n\n* Read-only properties are set\n* Write-only properties are read\n* Non-deletable properties are deleted\n\n**Example:**\n\n\n class MyClass:\n @property\n def read_only(self): return None\n\n def __write_only_setter(self, value): pass\n\n write_only = property(None, __write_only_setter)\n\n\n a = MyClass()\n a.read_only = 10 # property cannot be set\n del a.read_only # property cannot be deleted\n print(a.write_only) # property cannot be read\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyPropertyAccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyStubPackagesAdvertiser", + "shortDescription": { + "text": "Stub packages advertiser" + }, + "fullDescription": { + "text": "Reports availability of stub packages. Stub package is a package that contains type information for the corresponding runtime package. Using stub packages ensures better coding assistance for the corresponding python package.", + "markdown": "Reports availability of stub packages.\n\n\n[Stub package](https://www.python.org/dev/peps/pep-0561/) is a package that contains type information for the corresponding\nruntime package.\n\nUsing stub packages ensures better coding assistance for the corresponding python package." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyStubPackagesAdvertiser", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyRelativeImportInspection", + "shortDescription": { + "text": "Suspicious relative imports" + }, + "fullDescription": { + "text": "Reports usages of relative imports inside plain directories, for example, directories neither containing '__init__.py' nor explicitly marked as namespace packages.", + "markdown": "Reports usages of relative imports inside plain directories, for example, directories neither containing `__init__.py` nor\nexplicitly marked as namespace packages." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyPackages", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyRedeclarationInspection", + "shortDescription": { + "text": "Redeclared names without usages" + }, + "fullDescription": { + "text": "Reports unconditional redeclarations of names without being used in between. Example: 'def x(): pass\n\n\nx = 2' It applies to function and class declarations, and top-level assignments. When the warning is shown, you can try a recommended action, for example, you might be prompted to rename the variable.", + "markdown": "Reports unconditional redeclarations of names without being used in between.\n\n**Example:**\n\n\n def x(): pass\n\n\n x = 2\n\nIt applies to function and class declarations, and top-level assignments.\n\nWhen the warning is shown, you can try a recommended action, for example, you might be prompted to\nrename the variable." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyRedeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyStubPackagesCompatibilityInspection", + "shortDescription": { + "text": "Incompatible stub packages" + }, + "fullDescription": { + "text": "Reports stub packages that do not support the version of the corresponding runtime package. A stub package contains type information for some runtime package.", + "markdown": "Reports stub packages that do not support the version of the corresponding runtime package.\n\nA [stub package](https://www.python.org/dev/peps/pep-0561/) contains type information for some runtime package." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyStubPackagesCompatibility", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyProtectedMemberInspection", + "shortDescription": { + "text": "Accessing a protected member of a class or a module" + }, + "fullDescription": { + "text": "Reports cases when a protected member is accessed outside the class, a descendant of the class where it is defined, or a module. Example: 'class Foo:\n def _protected_method(self):\n pass\n\n\nclass Bar(Foo):\n def public_method(self):\n self._protected_method()\n\n\nfoo = Foo()\nfoo._protected_method() # Access to a protected method'", + "markdown": "Reports cases when a protected member is accessed outside the class,\na descendant of the class where it is defined, or a module.\n\n**Example:**\n\n\n class Foo:\n def _protected_method(self):\n pass\n\n\n class Bar(Foo):\n def public_method(self):\n self._protected_method()\n\n\n foo = Foo()\n foo._protected_method() # Access to a protected method\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyProtectedMember", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyUnboundLocalVariableInspection", + "shortDescription": { + "text": "Unbound local variables" + }, + "fullDescription": { + "text": "Reports local variables referenced before assignment. Example: 'x = 0\nif x > 10:\n b = 3\nprint(b)' The IDE reports a problem for 'print(b)'. A possible fix is: 'x = 0\nif x > 10:\n b = 3\n print(b)'", + "markdown": "Reports local variables referenced before assignment.\n\n**Example:**\n\n\n x = 0\n if x > 10:\n b = 3\n print(b)\n\nThe IDE reports a problem for `print(b)`. A possible fix is:\n\n\n x = 0\n if x > 10:\n b = 3\n print(b)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyUnboundLocalVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyNamedTupleInspection", + "shortDescription": { + "text": "Invalid definition of 'typing.NamedTuple'" + }, + "fullDescription": { + "text": "Reports invalid definition of a typing.NamedTuple. Example: 'import typing\n\n\nclass FullName(typing.NamedTuple):\n first: str\n last: str = \"\"\n middle: str' As a fix, place the field with the default value after the fields without default values: 'import typing\n\n\nclass FullName(typing.NamedTuple):\n first: str\n middle: str\n last: str = \"\"'", + "markdown": "Reports invalid definition of a\n[typing.NamedTuple](https://docs.python.org/3/library/typing.html#typing.NamedTuple).\n\n**Example:**\n\n\n import typing\n\n\n class FullName(typing.NamedTuple):\n first: str\n last: str = \"\"\n middle: str\n\nAs a fix, place the field with the default value after the fields without default values:\n\n\n import typing\n\n\n class FullName(typing.NamedTuple):\n first: str\n middle: str\n last: str = \"\"\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyNamedTuple", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyNewTypeInspection", + "shortDescription": { + "text": "Invalid usage of NewType" + }, + "fullDescription": { + "text": "Reports invalid usages of NewType. Examples: 'from typing import NewType\n\n InvalidName = NewType(\"Name\", int) # Variable name 'InvalidName' does not match NewType name 'Name'' 'from typing import Literal\n\n InvalidType = NewType(\"InvalidType\", Literal[1]) # NewType cannot be used with 'Literal[1]'' 'Base = NewType(\"Base\", str)\n\n class Derived(Base): # 'Base' cannot be subclassed\n pass'", + "markdown": "Reports invalid usages of [NewType](https://docs.python.org/3/library/typing.html#typing.NewType).\n\n\n**Examples:**\n\n\n from typing import NewType\n\n InvalidName = NewType(\"Name\", int) # Variable name 'InvalidName' does not match NewType name 'Name'\n\n\n from typing import Literal\n\n InvalidType = NewType(\"InvalidType\", Literal[1]) # NewType cannot be used with 'Literal[1]'\n\n\n Base = NewType(\"Base\", str)\n\n class Derived(Base): # 'Base' cannot be subclassed\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyNewType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyNestedDecoratorsInspection", + "shortDescription": { + "text": "Problematic nesting of decorators" + }, + "fullDescription": { + "text": "Reports problems with nesting decorators. The inspection highlights the cases when 'classmethod' or 'staticmethod' is applied before another decorator. Example: 'def innocent(f):\n return f\n\n\nclass A:\n @innocent # Decorator will not receive a callable it may expect\n @classmethod\n def f2(cls):\n pass\n\n @innocent # Decorator will not receive a callable it may expect\n @staticmethod\n def f1():\n pass' As a quick-fix, the IDE offers to remove the decorator.", + "markdown": "Reports problems with nesting decorators. The inspection highlights the cases when `classmethod` or `staticmethod`\nis applied before another decorator.\n\n**Example:**\n\n\n def innocent(f):\n return f\n\n\n class A:\n @innocent # Decorator will not receive a callable it may expect\n @classmethod\n def f2(cls):\n pass\n\n @innocent # Decorator will not receive a callable it may expect\n @staticmethod\n def f1():\n pass\n\nAs a quick-fix, the IDE offers to remove the decorator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyNestedDecorators", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyOverloadsInspection", + "shortDescription": { + "text": "Overloads in regular Python files" + }, + "fullDescription": { + "text": "Reports cases when overloads in regular Python files are placed after the implementation or when their signatures are not compatible with the implementation. Example: 'from typing import overload\n\n\n@overload\ndef foo(p1, p2): # Overload signature is not compatible with the implementation\n pass\n\n\n@overload\ndef foo(p1): # Overload signature is not compatible with the implementation\n pass\n\n\ndef foo(p1, p2, p3):\n print(p1, p2, p3)'", + "markdown": "Reports cases when overloads in regular Python files are placed after the implementation or when their signatures are\nnot compatible with the implementation.\n\n**Example:**\n\n\n from typing import overload\n\n\n @overload\n def foo(p1, p2): # Overload signature is not compatible with the implementation\n pass\n\n\n @overload\n def foo(p1): # Overload signature is not compatible with the implementation\n pass\n\n\n def foo(p1, p2, p3):\n print(p1, p2, p3)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyOverloads", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyExceptClausesOrderInspection", + "shortDescription": { + "text": "Wrong order of 'except' clauses" + }, + "fullDescription": { + "text": "Reports cases when 'except' clauses are not in the proper order, from the more specific to the more generic, or one exception class is caught twice. If you do not fix the order, some exceptions may not be caught by the most specific handler. Example: 'try:\n call()\nexcept ValueError:\n pass\nexcept UnicodeError:\n pass' The IDE recommends moving the clause up. When the quick-fix is applied, the code changes to: 'try:\n call()\nexcept UnicodeError:\n pass\nexcept ValueError:\n pass'", + "markdown": "Reports cases when `except` clauses are not in the proper order,\nfrom the more specific to the more generic, or one exception class is caught twice.\n\n\nIf you do not fix the order, some exceptions may not be caught by the most specific handler.\n\n**Example:**\n\n\n try:\n call()\n except ValueError:\n pass\n except UnicodeError:\n pass\n\nThe IDE recommends moving the clause up. When the quick-fix is applied, the code changes to:\n\n\n try:\n call()\n except UnicodeError:\n pass\n except ValueError:\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyExceptClausesOrder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyDataclassInspection", + "shortDescription": { + "text": "Invalid definition and usage of Data Classes" + }, + "fullDescription": { + "text": "Reports invalid definitions and usages of classes created with 'dataclasses' or 'attr' modules. Example: 'import dataclasses\n\n\n@dataclasses.dataclass\nclass FullName:\n first: str\n middle: str = \"\"\n last: str'", + "markdown": "Reports invalid definitions and usages of classes created with\n`dataclasses` or `attr` modules.\n\n**Example:**\n\n\n import dataclasses\n\n\n @dataclasses.dataclass\n class FullName:\n first: str\n middle: str = \"\"\n last: str\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PyDataclass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyClassicStyleClassInspection", + "shortDescription": { + "text": "Classic style class usage" + }, + "fullDescription": { + "text": "Reports classic style classes usage. This inspection applies only to Python 2. Example: 'class A:\n pass' With quick-fixes provided by the IDE, this code fragment changes to: 'class A(object):\n def __init__(self):\n pass'", + "markdown": "Reports [classic style classes](https://docs.python.org/2/reference/datamodel.html#new-style-and-classic-classes) usage. This inspection applies only to Python 2.\n\n**Example:**\n\n\n class A:\n pass\n\nWith quick-fixes provided by the IDE, this code fragment changes to:\n\n\n class A(object):\n def __init__(self):\n pass\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PyClassicStyleClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyPropertyDefinitionInspection", + "shortDescription": { + "text": "Incorrect property definition" + }, + "fullDescription": { + "text": "Reports problems with the arguments of 'property()' and functions annotated with '@property'. 'class C:\n @property\n def abc(self): # Getter should return or yield something\n pass\n\n @abc.setter\n def foo(self, value): # Names of function and decorator don't match\n pass\n\n @abc.setter\n def abc(self, v1, v2): # Setter signature should be (self, value)\n pass\n\n @abc.deleter\n def abc(self, v1): # Delete signature should be (self)\n pass' A quick-fix offers to update parameters.", + "markdown": "Reports problems with the arguments of `property()` and functions\nannotated with `@property`.\n\n\n class C:\n @property\n def abc(self): # Getter should return or yield something\n pass\n\n @abc.setter\n def foo(self, value): # Names of function and decorator don't match\n pass\n\n @abc.setter\n def abc(self, v1, v2): # Setter signature should be (self, value)\n pass\n\n @abc.deleter\n def abc(self, v1): # Delete signature should be (self)\n pass\n\nA quick-fix offers to update parameters." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyPropertyDefinition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyIncorrectDocstringInspection", + "shortDescription": { + "text": "Incorrect docstring" + }, + "fullDescription": { + "text": "Reports mismatched parameters in a docstring. For example, 'b' is highlighted, because there is no such a parameter in the 'add' function. 'def add(a, c):\n \"\"\"\n @param a:\n @param b:\n @return:\n \"\"\"\n pass' The inspection does not warn you of missing parameters if none of them is mentioned in a docstring: 'def mult(a, c):\n \"\"\"\n @return:\n \"\"\"\n pass'", + "markdown": "Reports mismatched parameters in a docstring. For example, `b` is highlighted, because there is no\nsuch a parameter in the `add` function.\n\n\n def add(a, c):\n \"\"\"\n @param a:\n @param b:\n @return:\n \"\"\"\n pass\n\nThe inspection does not warn you of missing parameters if none of them is mentioned in a docstring:\n\n\n def mult(a, c):\n \"\"\"\n @return:\n \"\"\"\n pass\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyIncorrectDocstring", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyEnumInspection", + "shortDescription": { + "text": "Invalid Enum definition and usages" + }, + "fullDescription": { + "text": "Reports invalid definition and usage of Enum. Example: 'from enum import Enum\n\n\nclass Shape(Enum):\n SQUARE = 1\n CIRCLE = 2\n\n\nclass ExtendedShape(Shape): # Enum class 'Shape' is final and cannot be subclassed\n TRIANGLE = 3' 'from enum import Enum\n\n\n class Color(Enum):\n _value_: int\n RED = 1\n GREEN = \"green\" # Type 'str' is not assignable to declared type 'int'' 'from enum import Enum\n\n\n class Pet(Enum):\n CAT = 1\n DOG: int = 2 # Type annotations are not allowed for enum members'", + "markdown": "Reports invalid definition and usage of [Enum](https://peps.python.org/pep-0435/).\n\n\n**Example:**\n\n\n from enum import Enum\n\n\n class Shape(Enum):\n SQUARE = 1\n CIRCLE = 2\n\n\n class ExtendedShape(Shape): # Enum class 'Shape' is final and cannot be subclassed\n TRIANGLE = 3\n\n\n from enum import Enum\n\n\n class Color(Enum):\n _value_: int\n RED = 1\n GREEN = \"green\" # Type 'str' is not assignable to declared type 'int'\n\n\n from enum import Enum\n\n\n class Pet(Enum):\n CAT = 1\n DOG: int = 2 # Type annotations are not allowed for enum members\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PyEnum", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PyListCreationInspection", + "shortDescription": { + "text": "Non-optimal list declaration" + }, + "fullDescription": { + "text": "Reports cases when a list declaration can be rewritten with a list literal. This ensures better performance of your application. Example: 'l = [1]\nl.append(2)' When the quick-fix is applied, the code changes to: 'l = [1, 2]'", + "markdown": "Reports cases when a list declaration\ncan be rewritten with a list literal.\n\nThis ensures better performance of your application.\n\n**Example:**\n\n\n l = [1]\n l.append(2)\n\nWhen the quick-fix is applied, the code changes to:\n\n\n l = [1, 2]\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PyListCreation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Python", + "index": 0, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "JavaScript", + "version": "251.21381", + "rules": [ + { + "id": "ConstantConditionalExpressionJS", + "shortDescription": { + "text": "Constant conditional expression" + }, + "fullDescription": { + "text": "Reports a conditional expression in the format 'true? result1: result2' or 'false? result1: result2. Suggests simplifying the expression.'", + "markdown": "Reports a conditional expression in the format `true? result1: result2` or `false? result1: result2``.\nSuggests simplifying the expression.\n`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConstantConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSTestFailedLine", + "shortDescription": { + "text": "Highlight failure line in test code" + }, + "fullDescription": { + "text": "Reports a failed method call or an assertion in a test.", + "markdown": "Reports a failed method call or an assertion in a test." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSTestFailedLine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unit testing", + "index": 12, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonBlockStatementBodyJS", + "shortDescription": { + "text": "Statement body without braces" + }, + "fullDescription": { + "text": "Reports a 'if', 'while', 'for', or 'with' statements whose body is not a block statement. Using code block in statement bodies is usually safer for downstream maintenance.", + "markdown": "Reports a `if`, `while`, `for`, or `with` statements whose body is not a block statement. Using code block in statement bodies is usually safer for downstream maintenance." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NonBlockStatementBodyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 17, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IfStatementWithTooManyBranchesJS", + "shortDescription": { + "text": "'if' statement with too many branches" + }, + "fullDescription": { + "text": "Reports an 'if' statement with too many branches. Such statements may be confusing, and often indicate inadequate levels of design abstraction. Use the field below to specify the maximum number of branches expected.", + "markdown": "Reports an `if` statement with too many branches. Such statements may be confusing, and often indicate inadequate levels of design abstraction.\n\n\nUse the field below to specify the maximum number of branches expected." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IfStatementWithTooManyBranchesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSValidateJSDoc", + "shortDescription": { + "text": "Syntax errors and unresolved references in JSDoc" + }, + "fullDescription": { + "text": "Reports a syntax discrepancy in a documentation comment.", + "markdown": "Reports a syntax discrepancy in a documentation comment." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSValidateJSDoc", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BreakStatementJS", + "shortDescription": { + "text": "'break' statement" + }, + "fullDescription": { + "text": "Reports a 'break' statements. Ignores 'break' statements that end case blocks.", + "markdown": "Reports a `break` statements. Ignores `break` statements that end case blocks." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BreakStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSConfig", + "shortDescription": { + "text": "Missing .flowconfig" + }, + "fullDescription": { + "text": "Reports a JavaScript file with a '@flow' flag that doesn't have an associated '.flowconfig' file in the project.", + "markdown": "Reports a JavaScript file with a `@flow` flag that doesn't have an associated `.flowconfig` file in the project." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FlowJSConfig", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 20, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidUsageOfClassThis", + "shortDescription": { + "text": "Potentially invalid reference to 'this' of a class from closure" + }, + "fullDescription": { + "text": "Reports an attempt to reference a member of an ECMAScript class via the 'this.' qualifier in a nested function that is not a lambda. 'this' in a nested function that is not a lambda is the function's own 'this' and doesn't relate to the outer class.", + "markdown": "Reports an attempt to reference a member of an ECMAScript class via the `this.` qualifier in a nested function that is not a lambda. \n`this` in a nested function that is not a lambda is the function's own `this` and doesn't relate to the outer class." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidUsageOfClassThis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DebuggerStatementJS", + "shortDescription": { + "text": "'debugger' statement" + }, + "fullDescription": { + "text": "Reports a 'debugger' statement used for interaction with the Javascript debuggers. Such statements should not appear in production code.", + "markdown": "Reports a `debugger` statement used for interaction with the Javascript debuggers. Such statements should not appear in production code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DebuggerStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Security" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedAssignment", + "shortDescription": { + "text": "Unused assignment" + }, + "fullDescription": { + "text": "Reports a variable whose value is never used after assignment. Suggests removing the unused variable to shorten the code and to avoid redundant allocations. The following cases are reported: A variable is never read after assignment. The value of a variable is always overwritten with another assignment before the variable is read next time. The initializer of a variable is redundant (for one of the above-mentioned reasons).", + "markdown": "Reports a variable whose value is never used after assignment. \nSuggests removing the unused variable to shorten the code and to avoid redundant allocations.\n\nThe following cases are reported:\n\n* A variable is never read after assignment.\n* The value of a variable is always overwritten with another assignment before the variable is read next time.\n* The initializer of a variable is redundant (for one of the above-mentioned reasons)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 25, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReuseOfLocalVariableJS", + "shortDescription": { + "text": "Reuse of local variable" + }, + "fullDescription": { + "text": "Reports reusing a local variable and overwriting its value with a new value that is not related to the original variable usage. Reusing a local variable in this way may be confusing because the intended semantics of the local variable may vary with each usage. It may also cause bugs, if code changes result in values that were expected to be overwritten while they are actually live. It is good practices to keep variable lifetimes as short as possible, and not reuse local variables for the sake of brevity.", + "markdown": "Reports reusing a local variable and overwriting its value with a new value that is not related to the original variable usage. Reusing a local variable in this way may be confusing because the intended semantics of the local variable may vary with each usage. It may also cause bugs, if code changes result in values that were expected to be overwritten while they are actually live. It is good practices to keep variable lifetimes as short as possible, and not reuse local variables for the sake of brevity." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReuseOfLocalVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Data flow", + "index": 26, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftOutOfRangeJS", + "shortDescription": { + "text": "Shift operation by possibly wrong constant" + }, + "fullDescription": { + "text": "Reports a shift operation where the second operand is a constant outside the reasonable range, for example, an integer shift operation outside the range '0..31', shifting by negative or overly large values.", + "markdown": "Reports a shift operation where the second operand is a constant outside the reasonable range, for example, an integer shift operation outside the range `0..31`, shifting by negative or overly large values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ShiftOutOfRangeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 27, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryContinueJS", + "shortDescription": { + "text": "Unnecessary 'continue' statement" + }, + "fullDescription": { + "text": "Reports an unnecessary 'continue' statement at the end of a loop. Suggests removing such statements.", + "markdown": "Reports an unnecessary `continue` statement at the end of a loop. Suggests removing such statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryContinueJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSClosureCompilerSyntax", + "shortDescription": { + "text": "Incorrect usage of JSDoc tags" + }, + "fullDescription": { + "text": "Reports warnings implied by Google Closure Compiler annotations including correct use of '@abstract', '@interface', and '@implements' tags.", + "markdown": "Reports warnings implied by *Google Closure Compiler* annotations including correct use of `@abstract`, `@interface`, and `@implements` tags." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSClosureCompilerSyntax", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertLetToConst", + "shortDescription": { + "text": "'let' is used instead of 'const'" + }, + "fullDescription": { + "text": "Reports a 'let' declaration that can be made 'const'.", + "markdown": "Reports a `let` declaration that can be made `const`. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertLetToConst", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXDomNesting", + "shortDescription": { + "text": "Invalid DOM element nesting" + }, + "fullDescription": { + "text": "Detects HTML elements in JSX files which are not nested properly according to the DOM specification. React reports runtime warnings on incorrectly nested elements.", + "markdown": "Detects HTML elements in JSX files which are not nested properly according to the DOM specification. React reports runtime warnings on incorrectly nested elements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSXDomNesting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/React", + "index": 33, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptValidateTypes", + "shortDescription": { + "text": "Type mismatch" + }, + "fullDescription": { + "text": "Reports a parameter, return value, or assigned expression of incorrect type.", + "markdown": "Reports a parameter, return value, or assigned expression of incorrect type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptValidateTypes", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadExpressionStatementJS", + "shortDescription": { + "text": "Expression statement which is not assignment or call" + }, + "fullDescription": { + "text": "Reports an expression statement that is neither an assignment nor a call. Such statements usually indicate an error.", + "markdown": "Reports an expression statement that is neither an assignment nor a call. Such statements usually indicate an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadExpressionStatementJS", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 35, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingFloatingPointLiteralJS", + "shortDescription": { + "text": "Confusing floating point literal" + }, + "fullDescription": { + "text": "Reports any floating point number that does not have a decimal point, or any numbers before the decimal point, or and numbers after the decimal point. Such literals may be confusing, and violate several coding standards.", + "markdown": "Reports any floating point number that does not have a decimal point, or any numbers before the decimal point, or and numbers after the decimal point. Such literals may be confusing, and violate several coding standards." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConfusingFloatingPointLiteralJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BreakStatementWithLabelJS", + "shortDescription": { + "text": "'break' statement with label" + }, + "fullDescription": { + "text": "Reports a labeled 'break' statement.", + "markdown": "Reports a labeled `break` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BreakStatementWithLabelJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueOrBreakFromFinallyBlockJS", + "shortDescription": { + "text": "'continue' or 'break' inside 'finally' block" + }, + "fullDescription": { + "text": "Reports a 'break' or 'continue' statement inside a 'finally' block. Such statements are very confusing, may hide exceptions, and complicate debugging.", + "markdown": "Reports a `break` or `continue` statement inside a `finally` block. Such statements are very confusing, may hide exceptions, and complicate debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueOrBreakFromFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StatementsPerFunctionJS", + "shortDescription": { + "text": "Overly long function" + }, + "fullDescription": { + "text": "Reports an overly long function. Function length is calculated by counting up the number of non-empty statements in the function. Functions that are too long are error-prone and difficult to test. Use the field below to specify the maximum acceptable number of statements in a function.", + "markdown": "Reports an overly long function. Function length is calculated by counting up the number of non-empty statements in the function. Functions that are too long are error-prone and difficult to test.\n\n\nUse the field below to specify the maximum acceptable number of statements in a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionTooLongJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 43, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLocalVariableJS", + "shortDescription": { + "text": "Redundant local variable" + }, + "fullDescription": { + "text": "Reports an unnecessary local variable that does not make a function more comprehensible: a local variable that is immediately returned a local variable that is immediately assigned to another variable and is not used anymore a local variable that always has the same value as another local variable or parameter. Use the checkbox below to have this inspection ignore variables that are immediately returned or thrown. Some coding styles suggest using such variables for clarity and ease of debugging.", + "markdown": "Reports an unnecessary local variable that does not make a function more comprehensible:\n\n* a local variable that is immediately returned\n* a local variable that is immediately assigned to another variable and is not used anymore\n* a local variable that always has the same value as another local variable or parameter.\n\n\nUse the checkbox below to have this inspection ignore variables that are immediately\nreturned or thrown. Some coding styles suggest using such variables for clarity and\nease of debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLocalVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Data flow", + "index": 26, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMethodCanBeStatic", + "shortDescription": { + "text": "Method can be made 'static'" + }, + "fullDescription": { + "text": "Reports a class method that can be safely made 'static'. A method can be 'static' if it does not reference any of its class' non-static methods and non-static fields and is not overridden in a subclass. Use the first checkbox below to inspect only 'private' methods.", + "markdown": "Reports a class method that can be safely made `static`. A method can be `static` if it does not reference any of its class' non-static methods and non-static fields and is not overridden in a subclass.\n\n\nUse the first checkbox below to inspect only `private` methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMethodCanBeStatic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDeclarationsAtScopeStart", + "shortDescription": { + "text": "'var' declared not at the beginning of a function" + }, + "fullDescription": { + "text": "Checks that declarations of local variables declared with var are at the top of a function scope. By default, variable declarations are always moved (\"hoisted\") invisibly to the top of their containing scope when the code is executed. Therefore, declaring them at the top of the scope helps represent this behavior in the code.", + "markdown": "Checks that declarations of local variables declared with **var** are at the top of a function scope. \n\nBy default, variable declarations are always moved (\"hoisted\") invisibly to the top of their containing scope when the code is executed. Therefore, declaring them at the top of the scope helps represent this behavior in the code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSDeclarationsAtScopeStart", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 17, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueStatementWithLabelJS", + "shortDescription": { + "text": "'continue' statement with label" + }, + "fullDescription": { + "text": "Reports a labeled 'continue' statement.", + "markdown": "Reports a labeled `continue` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueStatementWithLabelJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptMissingConfigOption", + "shortDescription": { + "text": "Missing tsconfig.json option " + }, + "fullDescription": { + "text": "Reports a usage that requires an explicit option in 'tsconfig.json'. For example, to use JSX in '.tsx' files, 'tsconfig.json' must contain '\"jsx\"' property.", + "markdown": "Reports a usage that requires an explicit option in `tsconfig.json`. For example, to use JSX in `.tsx` files, `tsconfig.json` must contain `\"jsx\"` property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptMissingConfigOption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSObjectNullOrUndefined", + "shortDescription": { + "text": "Object is 'null' or 'undefined'" + }, + "fullDescription": { + "text": "Reports an error caused by invoking a method, accessing a property, or calling a function on an object that is 'undefined' or 'null'.", + "markdown": "Reports an error caused by invoking a method, accessing a property, or calling a function on an object that is `undefined` or `null`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSObjectNullOrUndefined", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXUnresolvedComponent", + "shortDescription": { + "text": "Unresolved JSX component" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a JSX component. Suggests adding a missing import statement if the referenced component is defined in the project or its dependencies or creating a new component with this name. The template for a new component can be modified in Editor | File and Code Templates.", + "markdown": "Reports an unresolved reference to a JSX component. Suggests adding a missing import statement if the referenced component is defined in the project or its dependencies or creating a new component with this name.\n\nThe template for a new component can be modified in Editor \\| File and Code Templates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSXUnresolvedComponent", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ShorthandObjectProperty", + "shortDescription": { + "text": "Property can be replaced with shorthand" + }, + "fullDescription": { + "text": "Reports an object property that can be converted to ES6 shorthand style and provides a quick-fix to do it. Example: 'var obj = {foo:foo}' After applying the quick-fix the code looks as follows: 'var obj = {foo}'", + "markdown": "Reports an object property that can be converted to ES6 shorthand style and provides a quick-fix to do it.\n\nExample:\n\n\n var obj = {foo:foo}\n\nAfter applying the quick-fix the code looks as follows:\n\n\n var obj = {foo}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ShorthandObjectProperty", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelOnBreakStatementJS", + "shortDescription": { + "text": "Unnecessary label on 'break' statement" + }, + "fullDescription": { + "text": "Reports a labeled 'break' statement whose labels may be removed without changing the flow of control.", + "markdown": "Reports a labeled `break` statement whose labels may be removed without changing the flow of control." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelOnBreakStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueStatementJS", + "shortDescription": { + "text": "'continue' statement" + }, + "fullDescription": { + "text": "Reports a 'continue' statement.", + "markdown": "Reports a `continue` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentToForLoopParameterJS", + "shortDescription": { + "text": "Assignment to 'for' loop parameter" + }, + "fullDescription": { + "text": "Reports an assignment to a variable declared as a 'for' loop parameter. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error.", + "markdown": "Reports an assignment to a variable declared as a `for` loop parameter. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentToForLoopParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 47, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidConstructorUsage", + "shortDescription": { + "text": "Potentially invalid constructor usage" + }, + "fullDescription": { + "text": "Reports a usage of a potentially invalid constructor function, for example: a function that is not a constructor after 'new', using a constructor's prototype or calling a constructor without 'new'. A constructor function is assumed to have an upper case name (optional) or have an explicit JSDoc '@constructor' tag.", + "markdown": "Reports a usage of a potentially invalid constructor function, for example: a function that is not a constructor after `new`, using a constructor's prototype or calling a constructor without `new`. A constructor function is assumed to have an upper case name (optional) or have an explicit JSDoc `@constructor` tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidConstructorUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessArithmeticExpressionJS", + "shortDescription": { + "text": "Pointless arithmetic expression" + }, + "fullDescription": { + "text": "Reports an arithmetic expression that include adding or subtracting zero, multiplying by zero or one, division by one, and shift by zero. Such expressions may result from not fully completed automated refactoring.", + "markdown": "Reports an arithmetic expression that include adding or subtracting zero, multiplying by zero or one, division by one, and shift by zero. Such expressions may result from not fully completed automated refactoring." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessArithmeticExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NodeCoreCodingAssistance", + "shortDescription": { + "text": "Unresolved Node.js APIs" + }, + "fullDescription": { + "text": "Suggests configuring coding assistance for Node.js, for example, 'require' and/or core modules ('path', 'http', 'fs', etc.). See https://nodejs.org/api/ for the complete list.", + "markdown": "Suggests configuring coding assistance for Node.js, for example, `require` and/or core modules ('path', 'http', 'fs', etc.).\n\n\nSee for the complete list." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NodeCoreCodingAssistance", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Node.js", + "index": 54, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUndeclaredVariable", + "shortDescription": { + "text": "Implicitly declared global JavaScript variable" + }, + "fullDescription": { + "text": "Reports an implicit declaration of a global variable. Example: 'var aaa = 1; // good\n bbb = 2; // bad, if bbb is not declared with 'var' somewhere'", + "markdown": "Reports an implicit declaration of a global variable.\n\nExample:\n\n\n var aaa = 1; // good\n bbb = 2; // bad, if bbb is not declared with 'var' somewhere\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUndeclaredVariable", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DivideByZeroJS", + "shortDescription": { + "text": "Division by zero" + }, + "fullDescription": { + "text": "Reports division by zero or a remainder by zero.", + "markdown": "Reports division by zero or a remainder by zero." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DivideByZeroJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPrimitiveTypeWrapperUsage", + "shortDescription": { + "text": "Primitive type object wrapper used" + }, + "fullDescription": { + "text": "Reports an improper usage of a wrapper for primitive types or a property of a primitive type being modified, as in the latter case the assigned value will be lost.", + "markdown": "Reports an improper usage of a wrapper for primitive types or a property of a primitive type being modified, as in the latter case the assigned value will be lost." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPrimitiveTypeWrapperUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptSmartCast", + "shortDescription": { + "text": "Narrowed type" + }, + "fullDescription": { + "text": "Reports a usage of a variable where the variable type is narrowed by a type guard. Note that severity level doesn't affect this inspection.", + "markdown": "Reports a usage of a variable where the variable type is narrowed by a type guard. Note that severity level doesn't affect this inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptSmartCast", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertIndexedForToForOf", + "shortDescription": { + "text": "Indexed 'for' is used instead of 'for..of'" + }, + "fullDescription": { + "text": "Reports an indexed 'for' loop used on an array. Suggests replacing it with a 'for..of' loop. 'for..of' loops are introduced in ECMAScript 6 and iterate over 'iterable' objects.", + "markdown": "Reports an indexed [for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) loop used on an array. Suggests replacing it with a [for..of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop. \n`for..of` loops are introduced in ECMAScript 6 and iterate over `iterable` objects." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertIndexedForToForOf", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSLastCommaInArrayLiteral", + "shortDescription": { + "text": "Unneeded last comma in array literal" + }, + "fullDescription": { + "text": "Reports a usage of a trailing comma in an array literal. The warning is reported only when the JavaScript language version is set to ECMAScript 5.1. Although trailing commas in arrays are allowed by the specification, some browsers may throw an error when a trailing comma is used. You can configure formatting options for trailing commas in Code Style | JavaScript or TypeScript | Punctuation.", + "markdown": "Reports a usage of a trailing comma in an array literal.\n\nThe warning is reported only when the JavaScript language version is set to ECMAScript 5.1.\n\nAlthough trailing commas in arrays are allowed by the specification, some browsers may throw an error when a trailing comma is used.\n\nYou can configure formatting options for trailing commas in **Code Style** \\| **JavaScript** or **TypeScript** \\| **Punctuation**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSLastCommaInArrayLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalExpressionJS", + "shortDescription": { + "text": "Conditional expression" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression. Some coding standards prohibit such expressions in favor of explicit 'if' statements.", + "markdown": "Reports a ternary conditional expression. Some coding standards prohibit such expressions in favor of explicit `if` statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertVarToLetConst", + "shortDescription": { + "text": "'var' is used instead of 'let' or 'const'" + }, + "fullDescription": { + "text": "Reports a 'var' declaration that is used instead of 'let' or 'const'. Both 'let' and 'const' are block-scoped and behave more strictly. Suggests replacing all 'var' declarations with 'let' or 'const' declarations, depending on the semantics of a particular value. The declarations may be moved to the top of the function or placed before the first usage of the variable to avoid Reference errors. Select the 'Conservatively convert var with Fix all action' option to prevent any changes in these complex cases when using the 'Fix all' action.", + "markdown": "Reports a `var` declaration that is used instead of `let` or `const`. \nBoth `let` and `const` are block-scoped and behave more strictly. \n\nSuggests replacing all `var` declarations with `let` or `const` declarations, depending on the semantics of a particular value. The declarations may be moved to the top of the function or placed before the first usage of the variable to avoid Reference errors. \nSelect the 'Conservatively convert var with Fix all action' option to prevent any changes in these complex cases when using the 'Fix all' action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertVarToLetConst", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSReferencingMutableVariableFromClosure", + "shortDescription": { + "text": "Referencing mutable variable from closure" + }, + "fullDescription": { + "text": "Reports access to outer mutable variables from functions. Example: 'for (var i = 1; i <= 3; i++) {\n setTimeout(function() {\n console.log(i); // bad\n }, 0);\n }'", + "markdown": "Reports access to outer mutable variables from functions.\n\nExample:\n\n\n for (var i = 1; i <= 3; i++) {\n setTimeout(function() {\n console.log(i); // bad\n }, 0);\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSReferencingMutableVariableFromClosure", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessBooleanExpressionJS", + "shortDescription": { + "text": "Pointless statement or boolean expression" + }, + "fullDescription": { + "text": "Reports a pointless or pointlessly complicated boolean expression or statement. Example: 'let a = !(false && x);\n let b = false || x;' After the quick fix is applied the result looks like: 'let a = true;\n let b = x;'", + "markdown": "Reports a pointless or pointlessly complicated boolean expression or statement.\n\nExample:\n\n\n let a = !(false && x);\n let b = false || x;\n\nAfter the quick fix is applied the result looks like:\n\n\n let a = true;\n let b = x;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessBooleanExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DynamicallyGeneratedCodeJS", + "shortDescription": { + "text": "Execution of dynamically generated code" + }, + "fullDescription": { + "text": "Reports a call of the 'eval()', 'setTimeout()', or 'setInterval()' function or an allocation of a 'Function' object. These functions are used to execute arbitrary strings of JavaScript text, which often dynamically generated. This can be very confusing, and may be a security risk. Ignores the cases when a callback function is provided to these methods statically, without code generation.", + "markdown": "Reports a call of the `eval()`, `setTimeout()`, or `setInterval()` function or an allocation of a `Function` object. These functions are used to execute arbitrary strings of JavaScript text, which often dynamically generated. This can be very confusing, and may be a security risk. \n\nIgnores the cases when a callback function is provided to these methods statically, without code generation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DynamicallyGeneratedCodeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Security" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegatedConditionalExpressionJS", + "shortDescription": { + "text": "Negated conditional expression" + }, + "fullDescription": { + "text": "Reports a conditional expression whose condition is negated. Suggests flipping the order of branches in the conditional expression to increase the clarity of the statement. Example: '!condition ? 2 : 1'", + "markdown": "Reports a conditional expression whose condition is negated. Suggests flipping the order of branches in the conditional expression to increase the clarity of the statement. Example: `!condition ? 2 : 1`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NegatedConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUrlImportUsage", + "shortDescription": { + "text": "URL import is used" + }, + "fullDescription": { + "text": "Checks used URL imports in the JavaScript language. Suggests downloading the module for the specified remote URL. Such association enables the IDE to provide proper code completion and navigation. URLs in import specifiers are supported only for ECMAScript modules in the JavaScript language.", + "markdown": "Checks used URL imports in the JavaScript language. Suggests downloading the module for the specified remote URL. Such association enables the IDE to provide proper code completion and navigation. \n\nURLs in import specifiers are supported only for ECMAScript modules in the JavaScript language." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUrlImportUsage", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 58, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelOnContinueStatementJS", + "shortDescription": { + "text": "Unnecessary label on 'continue' statement" + }, + "fullDescription": { + "text": "Reports a labeled 'continue' statement whose labels may be removed without changing the flow of control.", + "markdown": "Reports a labeled `continue` statement whose labels may be removed without changing the flow of control." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelOnContinueStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ChainedEqualityJS", + "shortDescription": { + "text": "Chained equality" + }, + "fullDescription": { + "text": "Reports a chained equality comparison (i.e. 'a==b==c'). Such comparisons are confusing.", + "markdown": "Reports a chained equality comparison (i.e. `a==b==c`). Such comparisons are confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ChainedEqualityComparisonsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 17, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SillyAssignmentJS", + "shortDescription": { + "text": "Variable is assigned to itself" + }, + "fullDescription": { + "text": "Reports an assignment in the form 'x = x'.", + "markdown": "Reports an assignment in the form `x = x`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SillyAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 47, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidTargetOfIndexedPropertyAccess", + "shortDescription": { + "text": "Possibly incorrect target of indexed property access" + }, + "fullDescription": { + "text": "Reports a potentially invalid indexed property access, for example, 'Array[1]'.", + "markdown": "Reports a potentially invalid indexed property access, for example, `Array[1]`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidTargetOfIndexedPropertyAccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAccessibilityCheck", + "shortDescription": { + "text": "Inaccessible @private and @protected members referenced" + }, + "fullDescription": { + "text": "Reports a reference to a JavaScript member that is marked with a '@private' or '@protected' tag but does not comply with visibility rules that these tags imply.", + "markdown": "Reports a reference to a JavaScript member that is marked with a `@private` or `@protected` tag but does not comply with visibility rules that these tags imply." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSAccessibilityCheck", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertRequireIntoImport", + "shortDescription": { + "text": "'require()' is used instead of 'import'" + }, + "fullDescription": { + "text": "Reports a 'require()' statement. Suggests converting it to a 'require()' call with an 'import' statement. Enable 'Convert require() inside inner scopes with Fix all action' to convert all 'require()' calls inside the nested functions and statements when using the 'Fix all' action. Please note that converting 'require()' statements inside inner scopes to 'import' statements may cause changes in the semantics of the code. Import statements are static module dependencies and are hoisted, which means that they are moved to the top of the current module. 'require()' calls load modules dynamically. They can be executed conditionally, and their scope is defined by the expression in which they are used. Clear the 'Convert require() inside inner scopes with Fix all action' checkbox to prevent any changes in these complex cases when using the 'Fix all' action.", + "markdown": "Reports a `require()` statement. Suggests converting it to a `require()` call with an `import` statement. \n\nEnable 'Convert require() inside inner scopes with Fix all action' to convert all `require()` calls inside the nested functions and statements when using the 'Fix all' action. \n\nPlease note that converting `require()` statements inside inner scopes to `import` statements may cause changes in the semantics of the code. Import statements are static module dependencies and are hoisted, which means that they are moved to the top of the current module. `require()` calls load modules dynamically. They can be executed conditionally, and their scope is defined by the expression in which they are used. \nClear the 'Convert require() inside inner scopes with Fix all action' checkbox to prevent any changes in these complex cases when using the 'Fix all' action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertRequireIntoImport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithMultipleLoopsJS", + "shortDescription": { + "text": "Function with multiple loops" + }, + "fullDescription": { + "text": "Reports a function with multiple loop statements.", + "markdown": "Reports a function with multiple loop statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMultipleLoopsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 43, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LabeledStatementJS", + "shortDescription": { + "text": "Labeled statement" + }, + "fullDescription": { + "text": "Reports a labeled statement.", + "markdown": "Reports a labeled statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LabeledStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NpmUsedModulesInstalled", + "shortDescription": { + "text": "Missing module dependency" + }, + "fullDescription": { + "text": "Reports a module from a 'require()' call or an 'import' statement that is not installed or is not listed in package.json dependencies. Suggests installing the module and/or including it into package.json. For 'require()' calls, works only in the files from the scope of Node.js Core JavaScript library.", + "markdown": "Reports a module from a `require()` call or an `import` statement that is not installed or is not listed in package.json dependencies.\n\nSuggests installing the module and/or including it into package.json.\n\nFor `require()` calls, works only in the files from the scope of *Node.js Core* JavaScript library." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "NpmUsedModulesInstalled", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 58, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedCatchParameterJS", + "shortDescription": { + "text": "Unused 'catch' parameter" + }, + "fullDescription": { + "text": "Reports a 'catch' parameter that is not used in the corresponding block. The 'catch' parameters named 'ignore' or 'ignored' are ignored. Use the checkbox below to disable this inspection for 'catch' blocks with comments.", + "markdown": "Reports a `catch` parameter that is not used in the corresponding block. The `catch` parameters named `ignore` or `ignored` are ignored.\n\n\nUse the checkbox below to disable this inspection for `catch`\nblocks with comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedCatchParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WithStatementJS", + "shortDescription": { + "text": "'with' statement" + }, + "fullDescription": { + "text": "Reports a 'with' statements. Such statements result in potentially confusing implicit bindings, and may behave strangely in setting new variables.", + "markdown": "Reports a `with` statements. Such statements result in potentially confusing implicit bindings, and may behave strangely in setting new variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "WithStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptCheckImport", + "shortDescription": { + "text": "Unresolved imported name" + }, + "fullDescription": { + "text": "Reports an unresolved name or binding in an 'import' declaration in TypeScript code.", + "markdown": "Reports an unresolved name or binding in an `import` declaration in TypeScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptCheckImport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSConstantReassignment", + "shortDescription": { + "text": "Attempt to assign to const or readonly variable" + }, + "fullDescription": { + "text": "Reports reassigning a value to a constant or a readonly variable.", + "markdown": "Reports reassigning a value to a constant or a readonly variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSConstantReassignment", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 35, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MagicNumberJS", + "shortDescription": { + "text": "Magic number" + }, + "fullDescription": { + "text": "Reports a \"magic number\" that is a numeric literal used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but remains unchanged in another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0.0 and 1.0 are ignored.", + "markdown": "Reports a \"magic number\" that is a numeric literal used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but remains unchanged in another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0.0 and 1.0 are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MagicNumberJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionNamingConventionJS", + "shortDescription": { + "text": "Function naming convention" + }, + "fullDescription": { + "text": "Reports a function whose name is too short, too long, or does not follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression for function names. Use the standard 'java.util.regex' format for regular expressions.", + "markdown": "Reports a function whose name is too short, too long, or does not follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nfor function names. Use the standard `java.util.regex` format for regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 63, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXSyntaxUsed", + "shortDescription": { + "text": "JSX syntax used" + }, + "fullDescription": { + "text": "Reports a usage of a JSX tag in JavaScript code.", + "markdown": "Reports a usage of a JSX tag in JavaScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSXSyntaxUsed", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSJoinVariableDeclarationAndAssignment", + "shortDescription": { + "text": "Variable declaration can be merged with the first assignment to the variable" + }, + "fullDescription": { + "text": "Reports a variable that is declared without an initializer and is used much further in the code or in a single nested scope. Suggests moving the variable closer to its usages and joining it with the initializer expression.", + "markdown": "Reports a variable that is declared without an initializer and is used much further in the code or in a single nested scope. Suggests moving the variable closer to its usages and joining it with the initializer expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSJoinVariableDeclarationAndAssignment", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSRedundantSwitchStatement", + "shortDescription": { + "text": "'switch' statement is redundant and can be replaced" + }, + "fullDescription": { + "text": "Reports a 'switch' statement with an empty body, or with only one 'case' branch, or with a 'default' branch only.", + "markdown": "Reports a `switch` statement with an empty body, or with only one `case` branch, or with a `default` branch only." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSRedundantSwitchStatement", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 64, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptLibrary", + "shortDescription": { + "text": "Missing global library" + }, + "fullDescription": { + "text": "Reports a TypeScript library file that is required for a symbol but is not listed under the 'lib' compiler option in 'tsconfig.json'.", + "markdown": "Reports a TypeScript library file that is required for a symbol but is not listed under the `lib` compiler option in `tsconfig.json`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptLibrary", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptMissingAugmentationImport", + "shortDescription": { + "text": "Missing augmentation import" + }, + "fullDescription": { + "text": "Reports a usage from augmentation module without an explicit import.", + "markdown": "Reports a usage from [augmentation module](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation) without an explicit import." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptMissingAugmentationImport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedGlobalSymbols", + "shortDescription": { + "text": "Unused global symbol" + }, + "fullDescription": { + "text": "Reports an unused globally accessible public function, variable, class, or property.", + "markdown": "Reports an unused globally accessible public function, variable, class, or property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedGlobalSymbols", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 25, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertModuleExportToExport", + "shortDescription": { + "text": "'module.exports' is used instead of 'export'" + }, + "fullDescription": { + "text": "Reports a 'module.export' statement. Suggests replacing it with an 'export' or 'export default' statement. Please note that the quick-fix for converting 'module.export' into 'export' is not available for 'module.export' inside functions or statements because 'export' statements can only be at the top level of a module.", + "markdown": "Reports a `module.export` statement. Suggests replacing it with an `export` or `export default` statement. \n\nPlease note that the quick-fix for converting `module.export` into `export` is not available for `module.export` inside functions or statements because `export` statements can only be at the top level of a module." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertModuleExportToExport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DocumentWriteJS", + "shortDescription": { + "text": "Call to 'document.write()'" + }, + "fullDescription": { + "text": "Reports a method call to 'document.write()' or 'document.writeln()'. Most usages of such calls are performed better with explicit DOM calls, such as 'getElementByID()' and 'createElement()'. Additionally, the 'write()' and 'writeln()' calls will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can result in difficulty to point out bugs.", + "markdown": "Reports a method call to `document.write()` or `document.writeln()`. Most usages of such calls are performed better with explicit DOM calls, such as `getElementByID()` and `createElement()`. Additionally, the `write()` and `writeln()` calls will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can result in difficulty to point out bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DocumentWriteJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 65, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BlockStatementJS", + "shortDescription": { + "text": "Unnecessary block statement" + }, + "fullDescription": { + "text": "Reports a block statement that is not used as the body of 'if', 'for', 'while', 'do', 'with', or 'try' statements, or as the body of a function declaration. Starting from ECMAScript 6, JavaScript blocks introduce new scopes for 'let' and 'const' variables, but still free-standing block statements may be confusing and result in subtle bugs when used with 'var' variables.", + "markdown": "Reports a block statement that is not used as the body of `if`, `for`, `while`, `do`, `with`, or `try` statements, or as the body of a function declaration. Starting from ECMAScript 6, JavaScript blocks introduce new scopes for `let` and `const` variables, but still free-standing block statements may be confusing and result in subtle bugs when used with `var` variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BlockStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnonymousFunctionJS", + "shortDescription": { + "text": "Anonymous function" + }, + "fullDescription": { + "text": "Reports an anonymous function. An explicit name of a function expression may be helpful for debugging. Ignores function expressions without names if they have a 'name' property specified in the ECMAScript 6 standard. For example, 'var bar = function() {};' is not reported.", + "markdown": "Reports an anonymous function. An explicit name of a function expression may be helpful for debugging. Ignores function expressions without names if they have a `name` property specified in the ECMAScript 6 standard. For example, `var bar = function() {};` is not reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AnonymousFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 19, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ObjectAllocationIgnoredJS", + "shortDescription": { + "text": "Result of object allocation ignored" + }, + "fullDescription": { + "text": "Reports object allocation where the result of the allocated object is ignored, for example, 'new Error();' as a statement, without any assignment. Such allocation expressions may indicate an odd object initialization strategy.", + "markdown": "Reports object allocation where the result of the allocated object is ignored, for example, `new Error();` as a statement, without any assignment. Such allocation expressions may indicate an odd object initialization strategy." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ObjectAllocationIgnored", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InfiniteRecursionJS", + "shortDescription": { + "text": "Infinite recursion" + }, + "fullDescription": { + "text": "Reports a function which must either recurse infinitely or throw an exception. Such functions may not return normally.", + "markdown": "Reports a function which must either recurse infinitely or throw an exception. Such functions may not return normally." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InfiniteRecursionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedConditionalExpressionJS", + "shortDescription": { + "text": "Nested conditional expression" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression within another ternary condition. Such nested conditionals may be extremely confusing, and best replaced by more explicit conditional logic.", + "markdown": "Reports a ternary conditional expression within another ternary condition. Such nested conditionals may be extremely confusing, and best replaced by more explicit conditional logic." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSTypeOfValues", + "shortDescription": { + "text": "'typeof' comparison with non-standard value" + }, + "fullDescription": { + "text": "Reports a comparison of a 'typeof' expression with a literal string which is not one of the standard types: 'undefined', 'object', 'boolean', 'number', 'string', 'function', or 'symbol'. Such comparisons always return 'false'.", + "markdown": "Reports a comparison of a `typeof` expression with a literal string which is not one of the standard types: `undefined`, `object`, `boolean`, `number`, `string`, `function`, or `symbol`. Such comparisons always return `false`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSTypeOfValues", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncompatibleMaskJS", + "shortDescription": { + "text": "Incompatible bitwise mask operation" + }, + "fullDescription": { + "text": "Reports a bitwise mask expression which for sure evaluates to 'true' or 'false'. Expressions are of the form '(var & constant1) == constant2' or '(var | constant1) == constant2', where 'constant1' and 'constant2' are incompatible bitmask constants. Example: '// Incompatible mask: as the last byte in mask is zero,\n// something like 0x1200 would be possible, but not 0x1234\nif ((mask & 0xFF00) == 0x1234) {...}'", + "markdown": "Reports a bitwise mask expression which for sure evaluates to `true` or `false`. Expressions are of the form `(var & constant1) == constant2` or `(var | constant1) == constant2`, where `constant1` and `constant2` are incompatible bitmask constants.\n\nExample:\n\n\n // Incompatible mask: as the last byte in mask is zero,\n // something like 0x1200 would be possible, but not 0x1234\n if ((mask & 0xFF00) == 0x1234) {...}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncompatibleBitwiseMaskOperation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 27, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6PossiblyAsyncFunction", + "shortDescription": { + "text": "'await' in non-async function" + }, + "fullDescription": { + "text": "Reports a usage of 'await' in a function that was possibly intended to be async but is actually missing the 'async' modifier. Although 'await' can be used as an identifier, it is likely that it was intended to be used as an operator, so the containing function should be made 'async'.", + "markdown": "Reports a usage of `await` in a function that was possibly intended to be async but is actually missing the `async` modifier. Although `await` can be used as an identifier, it is likely that it was intended to be used as an operator, so the containing function should be made `async`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6PossiblyAsyncFunction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 66, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TextLabelInSwitchStatementJS", + "shortDescription": { + "text": "Text label in 'switch' statement" + }, + "fullDescription": { + "text": "Reports a labeled statement inside a 'switch' statement, which often results from a typo. Example: 'switch(x)\n {\n case 1:\n case2: //typo!\n case 3:\n break;\n }'", + "markdown": "Reports a labeled statement inside a `switch` statement, which often results from a typo.\n\nExample:\n\n\n switch(x)\n {\n case 1:\n case2: //typo!\n case 3:\n break;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TextLabelInSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 64, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyCatchBlockJS", + "shortDescription": { + "text": "Empty 'catch' block" + }, + "fullDescription": { + "text": "Reports an empty 'catch' block. This indicates that errors are simply ignored instead of handling them. Any comment in a 'catch' block mutes the inspection.", + "markdown": "Reports an empty `catch` block. This indicates that errors are simply ignored instead of handling them. \n\nAny comment in a `catch` block mutes the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyCatchBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSHint", + "shortDescription": { + "text": "JSHint" + }, + "fullDescription": { + "text": "Reports a problem detected by the JSHint linter.", + "markdown": "Reports a problem detected by the [JSHint](https://jshint.com/) linter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSHint", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 67, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSFlagCommentPlacement", + "shortDescription": { + "text": "Misplaced @flow flag" + }, + "fullDescription": { + "text": "Reports a '@flow' flag comment that is not located at the top of a file.", + "markdown": "Reports a `@flow` flag comment that is not located at the top of a file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FlowJSFlagCommentPlacement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 20, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Eslint", + "shortDescription": { + "text": "ESLint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the ESLint linter. The highlighting is based on the rule severity specified in the ESLint configuration file for each individual rule. Clear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all ESLint rules.", + "markdown": "Reports a discrepancy detected by the [ESLint](https://eslint.org) linter. \n\nThe highlighting is based on the rule severity specified in the [ESLint configuration file](https://eslint.org/docs/user-guide/configuring) for each individual rule. \n\nClear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all ESLint rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Eslint", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 67, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDuplicatedDeclaration", + "shortDescription": { + "text": "Duplicate declaration" + }, + "fullDescription": { + "text": "Reports multiple declarations in a scope.", + "markdown": "Reports multiple declarations in a scope." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSDuplicatedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSEqualityComparisonWithCoercion.TS", + "shortDescription": { + "text": "Equality operator may cause type coercion" + }, + "fullDescription": { + "text": "Reports a usage of equality operators may cause unexpected type coercions. Suggests replacing '==' or '!=' equality operators with type-safe '===' or '!==' operators. Depending on the option selected, one of the following cases will be reported: All usages of '==' and '!=' operators. All usages except comparison with null. Some code styles allow using 'x == null' as a replacement for 'x === null || x === undefined'. Only suspicious expressions, such as: '==' or '!=' comparisons with '0', '''', 'null', 'true', 'false', or 'undefined'.", + "markdown": "Reports a usage of equality operators may cause unexpected type coercions. Suggests replacing `==` or `!=` equality operators with type-safe `===` or `!==` operators.\n\nDepending on the option selected, one of the following cases will be reported:\n\n* All usages of `==` and `!=` operators.\n* All usages except comparison with null. Some code styles allow using `x == null` as a replacement for `x === null || x === undefined`.\n* Only suspicious expressions, such as: `==` or `!=` comparisons with `0`, `''`, `null`, `true`, `false`, or `undefined`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EqualityComparisonWithCoercionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Security" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSOctalInteger", + "shortDescription": { + "text": "Octal integer" + }, + "fullDescription": { + "text": "Reports a deprecated octal integer literal prefixed with '0' instead of '0o'. Such literals are not allowed in modern ECMAScript code, and using them in the strict mode is an error. To force this inspection for ES5 and ES3 language levels, select the 'Warn about obsolete octal literals in ES5- code' checkbox below.", + "markdown": "Reports a deprecated octal integer literal prefixed with `0` instead of `0o`. \nSuch literals are not allowed in modern ECMAScript code, and using them in the strict mode is an error. \nTo force this inspection for ES5 and ES3 language levels, select the 'Warn about obsolete octal literals in ES5- code' checkbox below." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSOctalInteger", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 35, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExceptionCaughtLocallyJS", + "shortDescription": { + "text": "Exception used for local control-flow" + }, + "fullDescription": { + "text": "Reports a 'throw' statement whose exceptions are always caught by the containing 'try' statement. Using 'throw' statements as a 'goto' to change the local flow of control is confusing.", + "markdown": "Reports a `throw` statement whose exceptions are always caught by the containing `try` statement. Using `throw` statements as a `goto` to change the local flow of control is confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ExceptionCaughtLocallyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThrowFromFinallyBlockJS", + "shortDescription": { + "text": "'throw' inside 'finally' block" + }, + "fullDescription": { + "text": "Reports s 'throw' statement inside a 'finally' block. Such 'throw' statements may mask exceptions thrown, and complicate debugging.", + "markdown": "Reports s `throw` statement inside a `finally` block. Such `throw` statements may mask exceptions thrown, and complicate debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ThrowInsideFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptValidateGenericTypes", + "shortDescription": { + "text": "Incorrect generic type argument" + }, + "fullDescription": { + "text": "Reports an invalid type argument in a function, interface, or class declaration.", + "markdown": "Reports an invalid type argument in a function, interface, or class declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptValidateGenericTypes", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CyclomaticComplexityJS", + "shortDescription": { + "text": "Overly complex function" + }, + "fullDescription": { + "text": "Reports a function with too many branching points in a function (too high cyclomatic complexity). Such functions may be confusing and hard to test. Use the field provided below to specify the maximum acceptable cyclomatic complexity for a function.", + "markdown": "Reports a function with too many branching points in a function (too high cyclomatic complexity). Such functions may be confusing and hard to test.\n\n\nUse the field provided below to specify the maximum acceptable cyclomatic complexity for a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 43, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMismatchedCollectionQueryUpdate", + "shortDescription": { + "text": "Mismatched query and update of collection" + }, + "fullDescription": { + "text": "Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried. Such mismatched queries and updates are pointless and may indicate either dead code or a typographical error. Query methods are automatically detected, based on whether they return something, or a callback is passed to them. Use the table below to specify which methods are update methods.", + "markdown": "Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried. Such mismatched queries and updates are pointless and may indicate either dead code or a typographical error.\n\n\nQuery methods are automatically detected, based on whether they return something, or a callback is passed to them.\nUse the table below to specify which methods are update methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSMismatchedCollectionQueryUpdate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PackageJsonMismatchedDependency", + "shortDescription": { + "text": "Mismatched dependencies in package.json" + }, + "fullDescription": { + "text": "Reports a dependency from package.json that is not installed or doesn't match the specified version range.", + "markdown": "Reports a dependency from package.json that is not installed or doesn't match the specified [version range](https://docs.npmjs.com/about-semantic-versioning)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PackageJsonMismatchedDependency", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 58, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidUsageOfThis", + "shortDescription": { + "text": "Potentially invalid reference to 'this' from closure" + }, + "fullDescription": { + "text": "Reports a 'this' in closure that is used for referencing properties of outer context. Example: 'function Outer() {\n this.outerProp = 1;\n function inner() {\n // bad, because 'outerProp' of Outer\n // won't be updated here\n // on calling 'new Outer()' as may be expected\n this.outerProp = 2;\n }\n inner();\n}'", + "markdown": "Reports a `this` in closure that is used for referencing properties of outer context.\n\nExample:\n\n\n function Outer() {\n this.outerProp = 1;\n function inner() {\n // bad, because 'outerProp' of Outer\n // won't be updated here\n // on calling 'new Outer()' as may be expected\n this.outerProp = 2;\n }\n inner();\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidUsageOfThis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMissingSwitchDefault", + "shortDescription": { + "text": "'switch' statement has no 'default' branch" + }, + "fullDescription": { + "text": "Reports a 'switch' statement without a 'default' clause when some possible values are not enumerated.", + "markdown": "Reports a `switch` statement without a `default` clause when some possible values are not enumerated." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMissingSwitchDefault", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 64, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXNamespaceValidation", + "shortDescription": { + "text": "Missing JSX namespace" + }, + "fullDescription": { + "text": "Reports a usage of a JSX construction without importing namespace. Having the namespace in the file scope ensures proper code compilation.", + "markdown": "Reports a usage of a JSX construction without importing namespace. Having the namespace in the file scope ensures proper code compilation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSXNamespaceValidation", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 58, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnresolvedLibraryURL", + "shortDescription": { + "text": "Missed locally stored library for HTTP link" + }, + "fullDescription": { + "text": "Reports a URL of an external JavaScript library that is not associated with any locally stored file. Suggests downloading the library. Such association enables the IDE to provide proper code completion and navigation.", + "markdown": "Reports a URL of an external JavaScript library that is not associated with any locally stored file. Suggests downloading the library. Such association enables the IDE to provide proper code completion and navigation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnresolvedLibraryURL", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6PreferShortImport", + "shortDescription": { + "text": "Import can be shortened" + }, + "fullDescription": { + "text": "Reports an ES6 import whose 'from' part can be shortened. Suggests importing the parent directory.", + "markdown": "Reports an ES6 import whose `from` part can be shortened. Suggests importing the parent directory." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6PreferShortImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessBitwiseExpressionJS", + "shortDescription": { + "text": "Bitwise expression can be simplified" + }, + "fullDescription": { + "text": "Reports an expression that includes 'and' with zero, 'or' by zero, or shifting by zero. Such expressions may result from not fully completed automated refactorings.", + "markdown": "Reports an expression that includes `and` with zero, `or` by zero, or shifting by zero. Such expressions may result from not fully completed automated refactorings." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessBitwiseExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 27, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InfiniteLoopJS", + "shortDescription": { + "text": "Infinite loop statement" + }, + "fullDescription": { + "text": "Reports a 'for', 'while', or 'do' statement which can only exit by throwing an exception. Such statements often indicate coding errors.", + "markdown": "Reports a `for`, `while`, or `do` statement which can only exit by throwing an exception. Such statements often indicate coding errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InfiniteLoopJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSStringConcatenationToES6Template", + "shortDescription": { + "text": "String concatenation is used instead of template literal" + }, + "fullDescription": { + "text": "Reports a string concatenation. Suggests replacing it with a template literal Example '\"result: \" + a + \".\"' After applying the quick-fix the code looks as follows: '`result: ${a}.`'", + "markdown": "Reports a string concatenation. Suggests replacing it with a [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)\n\nExample\n\n \"result: \" + a + \".\" \n\nAfter applying the quick-fix the code looks as follows:\n\n `result: ${a}.` \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSStringConcatenationToES6Template", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSArrowFunctionBracesCanBeRemoved", + "shortDescription": { + "text": "Redundant braces around arrow function body" + }, + "fullDescription": { + "text": "Reports an arrow function whose body only consists of braces and exactly one statement. Suggests converting to concise syntax without braces. 'let incrementer = (x) => {return x + 1};' After the quick-fix is applied, the code fragment looks as follows: 'let incrementer = (x) => x + 1;'", + "markdown": "Reports an arrow function whose body only consists of braces and exactly one statement. Suggests converting to concise syntax without braces.\n\n\n let incrementer = (x) => {return x + 1};\n\nAfter the quick-fix is applied, the code fragment looks as follows:\n\n\n let incrementer = (x) => x + 1;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSArrowFunctionBracesCanBeRemoved", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 17, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceAssignmentWithOperatorAssignmentJS", + "shortDescription": { + "text": "Assignment could be replaced with operator assignment" + }, + "fullDescription": { + "text": "Reports an assignment operation that can be replaced by an operator assignment to make your code shorter and probably clearer. Example: 'x = x + 3;'\n 'x = x / 3;'\n After the quick fix is applied the result looks like: 'x += 3;'\n 'x /= 3;'", + "markdown": "Reports an assignment operation that can be replaced by an operator assignment to make your code shorter and probably clearer.\n\n\nExample:\n\n x = x + 3;\n x = x / 3;\n\nAfter the quick fix is applied the result looks like:\n\n x += 3;\n x /= 3;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentReplaceableWithOperatorAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 47, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSFileReferences", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference in a JavaScript file, including CommonJS and AMD modules references.", + "markdown": "Reports an unresolved file reference in a JavaScript file, including CommonJS and AMD modules references." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSFileReferences", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithInconsistentReturnsJS", + "shortDescription": { + "text": "Function with inconsistent returns" + }, + "fullDescription": { + "text": "Reports a function that returns a value in some cases while in other cases no value is returned. This usually indicates an error. Example: 'function foo() {\n if (true)\n return 3;\n return;\n}'", + "markdown": "Reports a function that returns a value in some cases while in other cases no value is returned. This usually indicates an error.\n\nExample:\n\n\n function foo() {\n if (true)\n return 3;\n return;\n }\n\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithInconsistentReturnsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 35, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ClassMemberInitializationOrder", + "shortDescription": { + "text": "Use of possibly unassigned property in a static initializer" + }, + "fullDescription": { + "text": "Reports a class member initializer which references another non-hoisted class member while the latter may be not initialized yet. Initialization of class members happens consequently for fields, so a field cannot reference another field that is declared later.", + "markdown": "Reports a class member initializer which references another non-hoisted class member while the latter may be not initialized yet. \n\nInitialization of class members happens consequently for fields, so a field cannot reference another field that is declared later." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6ClassMemberInitializationOrder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyTryBlockJS", + "shortDescription": { + "text": "Empty 'try' block" + }, + "fullDescription": { + "text": "Reports an empty 'try' block, which usually indicates an error.", + "markdown": "Reports an empty `try` block, which usually indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyTryBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReservedWordUsedAsNameJS", + "shortDescription": { + "text": "Reserved word used as name" + }, + "fullDescription": { + "text": "Reports a JavaScript reserved word used as a name. The JavaScript specification reserves a number of words which are currently not used as keywords. Using those words as identifiers may result in broken code if later versions of JavaScript start using them as keywords.", + "markdown": "Reports a JavaScript reserved word used as a name. The JavaScript specification reserves a number of words which are currently not used as keywords. Using those words as identifiers may result in broken code if later versions of JavaScript start using them as keywords." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReservedWordAsName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 35, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSClassNamingConvention", + "shortDescription": { + "text": "Class naming convention" + }, + "fullDescription": { + "text": "Reports a class or a function that is annotated with a JSDoc '@constructor' or '@class' tag whose names are too short, too long, or do not follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression expected for classes names. Use the standard 'java.util.regex' format for regular expressions.", + "markdown": "Reports a class or a function that is annotated with a JSDoc `@constructor` or `@class` tag whose names are too short, too long, or do not follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nexpected for classes names. Use the standard `java.util.regex` format for regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSClassNamingConvention", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 63, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedFunctionJS", + "shortDescription": { + "text": "Nested function" + }, + "fullDescription": { + "text": "Reports a function nested inside another function. Although JavaScript allows functions to be nested, such constructs may be confusing. Use the checkbox below to ignore anonymous nested functions.", + "markdown": "Reports a function nested inside another function. Although JavaScript allows functions to be nested, such constructs may be confusing.\n\n\nUse the checkbox below to ignore anonymous nested functions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XHTMLIncompatabilitiesJS", + "shortDescription": { + "text": "Incompatible XHTML usages" + }, + "fullDescription": { + "text": "Reports common JavaScript DOM patterns which may present problems with XHTML documents. In particular, the patterns detected will behave completely differently depending on whether the document is loaded as XML or HTML. This can result in subtle bugs where script behaviour is dependent on the MIME-type of the document, rather than its content. Patterns detected include document.body, document.images, document.applets, document.links, document.forms, and document.anchors.", + "markdown": "Reports common JavaScript DOM patterns which may present problems with XHTML documents. In particular, the patterns detected will behave completely differently depending on whether the document is loaded as XML or HTML. This can result in subtle bugs where script behaviour is dependent on the MIME-type of the document, rather than its content. Patterns detected include **document.body** , **document.images** , **document.applets** , **document.links** , **document.forms** , and **document.anchors**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XHTMLIncompatabilitiesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 65, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncrementDecrementResultUsedJS", + "shortDescription": { + "text": "Result of increment or decrement used" + }, + "fullDescription": { + "text": "Reports an increment ('++') or decrement ('--') expression where the result of the assignment is used in a containing expression. Such assignments can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Example: 'var a = b++'", + "markdown": "Reports an increment (`++`) or decrement (`--`) expression where the result of the assignment is used in a containing expression. Such assignments can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Example: `var a = b++`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncrementDecrementResultUsedJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousTypeOfGuard", + "shortDescription": { + "text": "Unsound type guard check" + }, + "fullDescription": { + "text": "Reports a 'typeof' or 'instanceof' unsound type guard check. The 'typeof x' type guard can be unsound in one of the following two cases: 'typeof x' never corresponds to the specified value (for example, 'typeof x === 'number'' when 'x' is of the type 'string | boolean') 'typeof x' always corresponds to the specified value (for example, 'typeof x === 'string'' when 'x' is of the type 'string') The 'x instanceof A' type guard can be unsound in one of the following two cases: The type of 'x' is not related to 'A' The type of 'x' is 'A' or a subtype of 'A'", + "markdown": "Reports a `typeof` or `instanceof` unsound type guard check. The `typeof x` type guard can be unsound in one of the following two cases:\n\n* `typeof x` never corresponds to the specified value (for example, `typeof x === 'number'` when `x` is of the type 'string \\| boolean')\n* `typeof x` always corresponds to the specified value (for example, `typeof x === 'string'` when `x` is of the type 'string')\n\nThe `x instanceof A` type guard can be unsound in one of the following two cases:\n\n* The type of `x` is not related to `A`\n* The type of `x` is `A` or a subtype of `A`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SuspiciousTypeOfGuard", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptJSXUnresolvedComponent", + "shortDescription": { + "text": "Unresolved JSX component" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a JSX component. Suggests adding an import statement if the referenced component is defined in the project or its dependencies or creating a new component with the specified name. The template for a new component can be modified in Editor | File and Code Templates.", + "markdown": "Reports an unresolved reference to a JSX component. Suggests adding an import statement if the referenced component is defined in the project or its dependencies or creating a new component with the specified name.\n\nThe template for a new component can be modified in Editor \\| File and Code Templates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptJSXUnresolvedComponent", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptFieldCanBeMadeReadonly", + "shortDescription": { + "text": "Field can be readonly" + }, + "fullDescription": { + "text": "Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor).", + "markdown": "Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptFieldCanBeMadeReadonly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6DestructuringVariablesMerge", + "shortDescription": { + "text": "Destructuring properties with the same key" + }, + "fullDescription": { + "text": "Reports multiple destructuring properties with identical keys. Suggests merging the properties.", + "markdown": "Reports multiple destructuring properties with identical keys. Suggests merging the properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6DestructuringVariablesMerge", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LoopStatementThatDoesntLoopJS", + "shortDescription": { + "text": "Loop statement that doesn't loop" + }, + "fullDescription": { + "text": "Reports a 'for', 'while', or 'do' statement whose bodies are guaranteed to execute at most once. Normally, this indicates an error.", + "markdown": "Reports a `for`, `while`, or `do` statement whose bodies are guaranteed to execute at most once. Normally, this indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LoopStatementThatDoesntLoopJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegatedIfStatementJS", + "shortDescription": { + "text": "Negated 'if' statement" + }, + "fullDescription": { + "text": "Reports if statements which have an else branch and a negated condition. Flipping the order of the if and else branches will usually increase the clarity of such statements.", + "markdown": "Reports **if** statements which have an **else** branch and a negated condition. Flipping the order of the **if** and **else** branches will usually increase the clarity of such statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NegatedIfStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSNonASCIINames", + "shortDescription": { + "text": "Identifiers with non-ASCII symbols" + }, + "fullDescription": { + "text": "Reports a non-ASCII symbol in a name. If the 'Allow only ASCII names' option is selected, reports all names that contain non-ASCII symbols. Otherwise reports all names that contain both ASCII and non-ASCII symbols.", + "markdown": "Reports a non-ASCII symbol in a name. \n\nIf the 'Allow only ASCII names' option is selected, reports all names that contain non-ASCII symbols. \nOtherwise reports all names that contain both ASCII and non-ASCII symbols." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSNonASCIINames", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 63, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptRedundantGenericType", + "shortDescription": { + "text": "Redundant type arguments" + }, + "fullDescription": { + "text": "Reports a type argument that is equal to the default one and can be removed. Example: 'type Foo = T;\nlet z: Foo;'", + "markdown": "Reports a type argument that is equal to the default one and can be removed.\n\n\nExample:\n\n\n type Foo = T;\n let z: Foo;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptRedundantGenericType", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptUMDGlobal", + "shortDescription": { + "text": "Referenced UMD global variable" + }, + "fullDescription": { + "text": "Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS). Referencing UMD variables without explicit imports can lead to a runtime error if the library isn't included implicitly.", + "markdown": "Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS). Referencing UMD variables without explicit imports can lead to a runtime error if the library isn't included implicitly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptUMDGlobal", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryReturnJS", + "shortDescription": { + "text": "Unnecessary 'return' statement" + }, + "fullDescription": { + "text": "Reports an unnecessary 'return' statement, that is, a 'return' statement that returns no value and occurs just before the function would have \"fallen through\" the bottom. These statements may be safely removed.", + "markdown": "Reports an unnecessary `return` statement, that is, a `return` statement that returns no value and occurs just before the function would have \"fallen through\" the bottom. These statements may be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryReturnStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalExpressionWithIdenticalBranchesJS", + "shortDescription": { + "text": "Conditional expression with identical branches" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression with identical 'then' and 'else' branches.", + "markdown": "Reports a ternary conditional expression with identical `then` and `else` branches." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionalExpressionWithIdenticalBranchesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAnnotator", + "shortDescription": { + "text": "ECMAScript specification is not followed" + }, + "fullDescription": { + "text": "Reports basic syntax issues and inconsistencies with language specification, such as invalid usages of keywords, usages of incompatible numeric format, or multiple parameters to getters/setters. Generally, such errors must always be reported and shouldn't be disabled. But in some cases, such as issues due to the dynamic nature of JavaScript, the use of not yet supported language features, or bugs in IDE's checker, it may be handy to disable reporting these very basic errors.", + "markdown": "Reports basic syntax issues and inconsistencies with language specification, such as invalid usages of keywords, usages of incompatible numeric format, or multiple parameters to getters/setters. \nGenerally, such errors must always be reported and shouldn't be disabled. But in some cases, such as issues due to the dynamic nature of JavaScript, the use of not yet supported language features, or bugs in IDE's checker, it may be handy to disable reporting these very basic errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSAnnotator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSIncompatibleTypesComparison", + "shortDescription": { + "text": "Comparison of expressions having incompatible types" + }, + "fullDescription": { + "text": "Reports a comparison with operands of incompatible types or an operand with a type without possible common values.", + "markdown": "Reports a comparison with operands of incompatible types or an operand with a type without possible common values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSIncompatibleTypesComparison", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnfilteredForInLoop", + "shortDescription": { + "text": "Unfiltered for..in loop" + }, + "fullDescription": { + "text": "Reports unfiltered 'for-in' loops. The use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when 'Object''s prototype may be incorrectly modified. For example, the following code will print 42 and myMethod: 'Object.prototype.myMethod = function myMethod() {};\nlet a = { foo: 42 };\nfor (let i in a) {\n console.log(a[i]);\n}' Suggests replacing the whole loop with a 'Object.keys()' method or adding a 'hasOwnProperty()' check. After applying the quick-fix the code looks as follows: 'for (let i in a) {\n if (a.hasOwnProperty(i)) {\n console.log(a[i]);\n }\n}'", + "markdown": "Reports unfiltered `for-in` loops. \n\nThe use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when `Object`'s prototype may be incorrectly modified. For example, the following code will print **42** and **myMethod** : \n\n\n Object.prototype.myMethod = function myMethod() {};\n let a = { foo: 42 };\n for (let i in a) {\n console.log(a[i]);\n }\n\nSuggests replacing the whole loop with a `Object.keys()` method or adding a `hasOwnProperty()` check. After applying the quick-fix the code looks as follows:\n\n\n for (let i in a) {\n if (a.hasOwnProperty(i)) {\n console.log(a[i]);\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnfilteredForInLoop", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSLastCommaInObjectLiteral", + "shortDescription": { + "text": "Unneeded last comma in object literal" + }, + "fullDescription": { + "text": "Reports usages of a trailing comma in object literals. The warning is reported only when the JavaScript language version is set to ECMAScript 5.1. Trailing commas in object literals are allowed by the specification, however, some browsers might throw an error when a trailing comma is used. You can configure formatting options for trailing commas in Code Style | JavaScript or TypeScript | Punctuation.", + "markdown": "Reports usages of a trailing comma in object literals.\n\nThe warning is reported only when the JavaScript language version is set to ECMAScript 5.1.\n\nTrailing commas in object literals are allowed by the specification, however, some browsers might throw an error when a trailing comma is used.\n\nYou can configure formatting options for trailing commas in **Code Style** \\| **JavaScript** or **TypeScript** \\| **Punctuation**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSLastCommaInObjectLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSFunctionExpressionToArrowFunction", + "shortDescription": { + "text": "Function expression is used instead of arrow function" + }, + "fullDescription": { + "text": "Reports a function expression. Suggests converting it to an arrow function. Example: 'arr.map(function(el) {return el + 1})' After applying the quick-fix the code looks as follows: 'arr.map(el => el + 1)'", + "markdown": "Reports a [function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function) expression. Suggests converting it to an [arrow function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions).\n\nExample:\n\n arr.map(function(el) {return el + 1})\n\nAfter applying the quick-fix the code looks as follows:\n\n arr.map(el => el + 1)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSFunctionExpressionToArrowFunction", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6TopLevelAwaitExpression", + "shortDescription": { + "text": "Top-level 'await' expression" + }, + "fullDescription": { + "text": "Reports a usage of a top-level 'await' expression. While the new 'top-level async' proposal is on its way, using 'await' outside async functions is not allowed.", + "markdown": "Reports a usage of a top-level `await` expression. While the new 'top-level async' proposal is on its way, using `await` outside async functions is not allowed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ES6TopLevelAwaitExpression", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 66, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6MissingAwait", + "shortDescription": { + "text": "Missing await for an async function call" + }, + "fullDescription": { + "text": "Reports an 'async' function call without an expected 'await' prefix inside an 'async' function. Such call returns a 'Promise' and control flow is continued immediately. Example: 'async function bar() { /* ... */ }\nasync function foo() {\n bar(); // bad\n}' After the quick-fix is applied, the 'await' prefix is added: 'async function bar() { /* ... */ }\nasync function foo() {\n await bar(); // good\n}' When the 'Report for promises in return statements' checkbox is selected, also suggests adding 'await' in return statements. While this is generally not necessary, it gives two main benefits. You won't forget to add 'await' when surrounding your code with 'try-catch'. An explicit 'await' helps V8 runtime to provide async stack traces.", + "markdown": "Reports an `async` function call without an expected `await` prefix inside an `async` function. Such call returns a `Promise` and control flow is continued immediately.\n\nExample:\n\n\n async function bar() { /* ... */ }\n async function foo() {\n bar(); // bad\n }\n\n\nAfter the quick-fix is applied, the `await` prefix is added:\n\n\n async function bar() { /* ... */ }\n async function foo() {\n await bar(); // good\n }\n\nWhen the 'Report for promises in return statements' checkbox is selected, also suggests adding `await` in return statements. \nWhile this is generally not necessary, it gives two main benefits. \n\n* You won't forget to add `await` when surrounding your code with `try-catch`.\n* An explicit `await` helps V8 runtime to provide [async stack traces](https://bit.ly/v8-zero-cost-async-stack-traces)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6MissingAwait", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 66, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TailRecursionJS", + "shortDescription": { + "text": "Tail recursion" + }, + "fullDescription": { + "text": "Reports a tail recursion, that is, when a function calls itself as its last action before returning. A tail recursion can always be replaced by looping, which will be considerably faster. Some JavaScript engines perform this optimization, while others do not. Thus, tail recursive solutions may have considerably different performance characteristics in different environments.", + "markdown": "Reports a tail recursion, that is, when a function calls itself as its last action before returning. A tail recursion can always be replaced by looping, which will be considerably faster. Some JavaScript engines perform this optimization, while others do not. Thus, tail recursive solutions may have considerably different performance characteristics in different environments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TailRecursionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 2, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertToForOf", + "shortDescription": { + "text": "'for..in' is used instead of 'for..of'" + }, + "fullDescription": { + "text": "Reports a usage of a 'for..in' loop on an array. Suggests replacing it with a 'for..of' loop. 'for..of' loops, which are introduced in ECMAScript 6, iterate over 'iterable' objects. For arrays, this structure is preferable to 'for..in', because it works only with array values but not with array object's properties.", + "markdown": "Reports a usage of a [for..in](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) loop on an array. Suggests replacing it with a [for..of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop. \n`for..of` loops, which are introduced in ECMAScript 6, iterate over `iterable` objects. For arrays, this structure is preferable to `for..in`, because it works only with array values but not with array object's properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertToForOf", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 30, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParameterNamingConventionJS", + "shortDescription": { + "text": "Function parameter naming convention" + }, + "fullDescription": { + "text": "Reports a function parameter whose name is too short, too long, or doesn't follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length and regular expression expected for local variables names. Use the standard 'java.util.regex' format regular expressions.", + "markdown": "Reports a function parameter whose name is too short, too long, or doesn't follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length and regular expression\nexpected for local variables names. Use the standard `java.util.regex` format regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ParameterNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 63, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUndefinedPropertyAssignment", + "shortDescription": { + "text": "Undefined property assignment" + }, + "fullDescription": { + "text": "Reports an assignment to a property that is not defined in the type of a variable. Example: '/**\n * @type {{ property1: string, property2: number }}\n */\nlet myVariable = create();\n\nmyVariable.newProperty = 3; // bad'", + "markdown": "Reports an assignment to a property that is not defined in the type of a variable.\n\nExample:\n\n\n /**\n * @type {{ property1: string, property2: number }}\n */\n let myVariable = create();\n\n myVariable.newProperty = 3; // bad\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUndefinedPropertyAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 17, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StandardJS", + "shortDescription": { + "text": "Standard code style" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the JavaScript Standard Style linter. The highlighting severity in the editor is based on the severity level the linter reports.", + "markdown": "Reports a discrepancy detected by the [JavaScript Standard Style](https://standardjs.com/) linter. \n\nThe highlighting severity in the editor is based on the severity level the linter reports." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "StandardJS", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 67, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParametersPerFunctionJS", + "shortDescription": { + "text": "Function with too many parameters" + }, + "fullDescription": { + "text": "Reports a function with too many parameters. Such functions often indicate problems with design. Use the field below to specify the maximum acceptable number of parameters for a function.", + "markdown": "Reports a function with too many parameters. Such functions often indicate problems with design.\n\n\nUse the field below to specify the maximum acceptable number of parameters for a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 43, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThisExpressionReferencesGlobalObjectJS", + "shortDescription": { + "text": "'this' expression which references the global object" + }, + "fullDescription": { + "text": "Reports a 'this' expression outside an object literal or a constructor body. Such 'this' expressions reference the top-level \"global\" JavaScript object, but are mostly useless.", + "markdown": "Reports a `this` expression outside an object literal or a constructor body. Such `this` expressions reference the top-level \"global\" JavaScript object, but are mostly useless." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ThisExpressionReferencesGlobalObjectJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 35, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedAssignmentJS", + "shortDescription": { + "text": "Nested assignment" + }, + "fullDescription": { + "text": "Reports an assignment expression nested inside another expression, for example, 'a = b = 1'. Such expressions may be confusing and violate the general design principle that a given construct should do precisely one thing.", + "markdown": "Reports an assignment expression nested inside another expression, for example, `a = b = 1`. Such expressions may be confusing and violate the general design principle that a given construct should do precisely one thing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 47, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DefaultNotLastCaseInSwitchJS", + "shortDescription": { + "text": "'default' not last case in 'switch'" + }, + "fullDescription": { + "text": "Reports a 'switch' statement where the 'default' case comes before another case instead of being the very last case, which may cause confusion.", + "markdown": "Reports a `switch` statement where the `default` case comes before another case instead of being the very last case, which may cause confusion." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DefaultNotLastCaseInSwitchJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 64, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingPlusesOrMinusesJS", + "shortDescription": { + "text": "Confusing sequence of '+' or '-'" + }, + "fullDescription": { + "text": "Reports a suspicious combination of '+' or '-' characters in JavaScript code (for example, 'a+++b'. Such sequences are confusing, and their semantics may change through changes in the whitespace.", + "markdown": "Reports a suspicious combination of `+` or `-` characters in JavaScript code (for example, `a+++b`. Such sequences are confusing, and their semantics may change through changes in the whitespace." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConfusingPlusesOrMinusesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Security" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDeprecatedSymbols", + "shortDescription": { + "text": "Deprecated symbol used" + }, + "fullDescription": { + "text": "Reports a usage of a deprecated function variable.", + "markdown": "Reports a usage of a deprecated function variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSDeprecatedSymbols", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalVariableNamingConventionJS", + "shortDescription": { + "text": "Local variable naming convention" + }, + "fullDescription": { + "text": "Reports a local variable whose name is too short, too long, or doesn't follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression expected for local variables names. Use the standard 'java.util.regex' format regular expressions.", + "markdown": "Reports a local variable whose name is too short, too long, or doesn't follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nexpected for local variables names. Use the standard `java.util.regex` format regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LocalVariableNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 63, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyFinallyBlockJS", + "shortDescription": { + "text": "Empty 'finally' block" + }, + "fullDescription": { + "text": "Reports an empty 'finally' block, which usually indicates an error.", + "markdown": "Reports an empty `finally` block, which usually indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 41, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSCommentMatchesSignature", + "shortDescription": { + "text": "Mismatched JSDoc and function signature" + }, + "fullDescription": { + "text": "Reports mismatch between the names and the number of parameters within a JSDoc comment and the actual parameters of a function. Suggests updating parameters in JSDoc comment. Example: '/**\n * @param height Height in pixels\n */\nfunction sq(height, width) {} // width is not documented' After the quick-fix is applied: '/**\n * @param height Height in pixels\n * @param width\n */\nfunction sq(height, width) {}'", + "markdown": "Reports mismatch between the names and the number of parameters within a JSDoc comment and the actual parameters of a function. Suggests updating parameters in JSDoc comment.\n\n**Example:**\n\n\n /**\n * @param height Height in pixels\n */\n function sq(height, width) {} // width is not documented\n\nAfter the quick-fix is applied:\n\n\n /**\n * @param height Height in pixels\n * @param width\n */\n function sq(height, width) {}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSCommentMatchesSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UpdateDependencyToLatestVersion", + "shortDescription": { + "text": "Update package.json dependencies to latest versions" + }, + "fullDescription": { + "text": "Suggests to upgrade your package.json dependencies to the latest versions, ignoring specified versions.", + "markdown": "Suggests to upgrade your package.json dependencies to the latest versions, ignoring specified versions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "UpdateDependencyToLatestVersion", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 58, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptConfig", + "shortDescription": { + "text": "Inconsistent tsconfig.json properties" + }, + "fullDescription": { + "text": "Reports inconsistency of a 'paths', 'checkJs', or 'extends' property in a tsconfig.json file. The 'checkJs' property requires 'allowJs'. The 'extends' property should be a valid file reference.", + "markdown": "Reports inconsistency of a `paths`, `checkJs`, or `extends` property in a tsconfig.json file. \nThe `checkJs` property requires `allowJs`. \nThe `extends` property should be a valid file reference." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptConfig", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSuspiciousNameCombination", + "shortDescription": { + "text": "Suspicious variable/parameter name combination" + }, + "fullDescription": { + "text": "Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it. Example: 'var x = 0;\n var y = x;' or 'var x = 0, y = 0;\n var rc = new Rectangle(y, x, 20, 20);' Here the inspection guesses that 'x' and 'y' are mixed up. Specify the names that should not be used together. An error is reported if a parameter name or an assignment target name contains words from one group while the name of the assigned or passed variable contains words from another group.", + "markdown": "Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it.\n\nExample:\n\n\n var x = 0;\n var y = x;\n\nor\n\n\n var x = 0, y = 0;\n var rc = new Rectangle(y, x, 20, 20);\n\nHere the inspection guesses that `x` and `y` are mixed up.\n\nSpecify the names that should not be used together. An error is reported\nif a parameter name or an assignment target name contains words from one group while the name of the assigned or passed\nvariable contains words from another group." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSuspiciousNameCombination", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnresolvedExtXType", + "shortDescription": { + "text": "Unresolved Ext JS xtype" + }, + "fullDescription": { + "text": "Reports an Ext JS 'xtype' reference that doesn't have a corresponding class.", + "markdown": "Reports an Ext JS `xtype` reference that doesn't have a corresponding class." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnresolvedExtXType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForLoopThatDoesntUseLoopVariableJS", + "shortDescription": { + "text": "'for' loop where update or condition does not use loop variable" + }, + "fullDescription": { + "text": "Reports a 'for' loop where the condition or update does not use the 'for' loop variable.", + "markdown": "Reports a `for` loop where the condition or update does not use the `for` loop variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ForLoopThatDoesntUseLoopVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 22, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptAbstractClassConstructorCanBeMadeProtected", + "shortDescription": { + "text": "Abstract class constructor can be made protected" + }, + "fullDescription": { + "text": "Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public).", + "markdown": "Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptAbstractClassConstructorCanBeMadeProtected", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 34, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithMultipleReturnPointsJS", + "shortDescription": { + "text": "Function with multiple return points" + }, + "fullDescription": { + "text": "Reports a function with multiple return points. Such functions are hard to understand and maintain.", + "markdown": "Reports a function with multiple return points. Such functions are hard to understand and maintain." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMultipleReturnPointsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 43, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSIgnoredPromiseFromCall", + "shortDescription": { + "text": "Result of method call returning a promise is ignored" + }, + "fullDescription": { + "text": "Reports a function call that returns a 'Promise' that is not used later. Such calls are usually unintended and indicate an error.", + "markdown": "Reports a function call that returns a `Promise` that is not used later. Such calls are usually unintended and indicate an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSIgnoredPromiseFromCall", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 66, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThreeNegationsPerFunctionJS", + "shortDescription": { + "text": "Function with more than three negations" + }, + "fullDescription": { + "text": "Reports a function with three or more negation operations ('!' or '!='). Such functions may be unnecessarily confusing.", + "markdown": "Reports a function with three or more negation operations (`!` or `!=`). Such functions may be unnecessarily confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMoreThanThreeNegationsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 43, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSRemoveUnnecessaryParentheses", + "shortDescription": { + "text": "Unnecessary parentheses" + }, + "fullDescription": { + "text": "Reports redundant parentheses. In expressions: 'var x = ((1) + 2) + 3' In arrow function argument lists: 'var incrementer = (x) => x + 1' In TypeScript and Flow type declarations: 'type Card = (Suit & Rank) | (Suit & Number)'", + "markdown": "Reports redundant parentheses.\n\nIn expressions:\n\n var x = ((1) + 2) + 3\n\nIn arrow function argument lists:\n\n var incrementer = (x) => x + 1\n\nIn TypeScript and Flow type declarations:\n\n type Card = (Suit & Rank) | (Suit & Number)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSRemoveUnnecessaryParentheses", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 17, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverlyComplexBooleanExpressionJS", + "shortDescription": { + "text": "Overly complex boolean expression" + }, + "fullDescription": { + "text": "Reports a boolean expression with too many terms. Such expressions may be confusing and bug-prone. Use the field below to specify the maximum number of terms allowed in an arithmetic expression.", + "markdown": "Reports a boolean expression with too many terms. Such expressions may be confusing and bug-prone.\n\n\nUse the field below to specify the maximum number of terms allowed in an arithmetic expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexBooleanExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverlyComplexArithmeticExpressionJS", + "shortDescription": { + "text": "Overly complex arithmetic expression" + }, + "fullDescription": { + "text": "Reports an arithmetic expression with too many terms. Such expressions may be confusing and bug-prone. Use the field below to specify the maximum number of terms allowed in an arithmetic expression.", + "markdown": "Reports an arithmetic expression with too many terms. Such expressions may be confusing and bug-prone.\n\n\nUse the field below to specify the maximum number of terms allowed in an arithmetic expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexArithmeticExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 37, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6RedundantNestingInTemplateLiteral", + "shortDescription": { + "text": "Redundant nesting in template literal" + }, + "fullDescription": { + "text": "Reports nested instances of a string or a template literal. Suggests inlining the nested instances into the containing template string. Example: 'let a = `Hello, ${`Brave ${\"New\"}`} ${\"World\"}!`' After applying the quick-fix the code looks as follows: 'let a = `Hello, Brave New World!`'", + "markdown": "Reports nested instances of a string or a template literal. Suggests inlining the nested instances into the containing template string.\n\nExample:\n\n\n let a = `Hello, ${`Brave ${\"New\"}`} ${\"World\"}!`\n\nAfter applying the quick-fix the code looks as follows:\n\n\n let a = `Hello, Brave New World!`\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6RedundantNestingInTemplateLiteral", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLiteralBreaksHTMLJS", + "shortDescription": { + "text": "String literal which breaks HTML parsing" + }, + "fullDescription": { + "text": "Reports a string literal that contains a '' or multiple components matched on any other element.", + "markdown": "Reports a component that is matched on an embedded template element `` or multiple components matched on any other element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularAmbiguousComponentTag", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularUndefinedModuleExport", + "shortDescription": { + "text": "Undefined export from Angular module" + }, + "fullDescription": { + "text": "Reports an export of an undeclared or unimported component, directive, or pipes from an Angular module.", + "markdown": "Reports an export of an undeclared or unimported component, directive, or pipes from an Angular module." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularUndefinedModuleExport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidI18nAttribute", + "shortDescription": { + "text": "Invalid i18n attribute" + }, + "fullDescription": { + "text": "Reports a problem with a 'i18n-*' attribute.", + "markdown": "Reports a problem with a `i18n-*` attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AngularInvalidI18nAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularForBlockNonIterableVar", + "shortDescription": { + "text": "Non-iterable type in @for block" + }, + "fullDescription": { + "text": "Reports that the type of variable to iterate over does not have '[Symbol.iterator]()' method, which returns an iterator.", + "markdown": "Reports that the type of variable to iterate over does not have `[Symbol.iterator]()` method, which returns an iterator." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularForBlockNonIterableVar", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularIncorrectTemplateDefinition", + "shortDescription": { + "text": "Incorrect component template definition" + }, + "fullDescription": { + "text": "Reports a component that doesn’t have an associated template or uses both 'template' and 'templateUrl' properties.", + "markdown": "Reports a component that doesn't have an associated template or uses both `template` and `templateUrl` properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularIncorrectTemplateDefinition", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularIncorrectLetUsage", + "shortDescription": { + "text": "Incorrect usage of @let declaration" + }, + "fullDescription": { + "text": "Reports problems with @let declaration usages.", + "markdown": "Reports problems with @let declaration usages." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularIncorrectLetUsage", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularNonStandaloneComponentImports", + "shortDescription": { + "text": "Invalid usage of imports in non-standalone components" + }, + "fullDescription": { + "text": "Reports usages of imports property in non-standalone component decorators. Imports can be used only in standalone components.", + "markdown": "Reports usages of imports property in non-standalone component decorators. Imports can be used only in standalone components." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularNonStandaloneComponentImports", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularMissingOrInvalidDeclarationInModule", + "shortDescription": { + "text": "Missing or invalid component, directive or pipe declaration in a module" + }, + "fullDescription": { + "text": "Reports a non-standalone Angular component, directive, or pipe that is not declared in any module or is declared in multiple modules.", + "markdown": "Reports a non-standalone Angular component, directive, or pipe that is not declared in any module or is declared in multiple modules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularMissingOrInvalidDeclarationInModule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidAnimationTriggerAssignment", + "shortDescription": { + "text": "Invalid animation trigger assignment" + }, + "fullDescription": { + "text": "Reports an invalid assignment of an animation trigger. To attach an animation to an element, use '[@triggerName]=\"expression\"' or an attribute without a value '@triggerName'.", + "markdown": "Reports an invalid assignment of an animation trigger. To attach an animation to an element, use `[@triggerName]=\"expression\"` or an attribute without a value `@triggerName`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidAnimationTriggerAssignment", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidEntryComponent", + "shortDescription": { + "text": "Invalid entry component" + }, + "fullDescription": { + "text": "Reports an invalid Angular component specified in the module’s 'bootstrap' or 'entryComponents' property.", + "markdown": "Reports an invalid Angular component specified in the module's `bootstrap` or `entryComponents` property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidEntryComponent", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularRecursiveModuleImportExport", + "shortDescription": { + "text": "Recursive import or export of an Angular module or a standalone component" + }, + "fullDescription": { + "text": "Reports a cyclic dependency between Angular modules or standalone components.", + "markdown": "Reports a cyclic dependency between Angular modules or standalone components." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularRecursiveModuleImportExport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidSelector", + "shortDescription": { + "text": "Missing or invalid selector" + }, + "fullDescription": { + "text": "Reports an invalid 'selector' property of a component or directive.", + "markdown": "Reports an invalid `selector` property of a component or directive." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularBindingTypeMismatch", + "shortDescription": { + "text": "Invalid binding type" + }, + "fullDescription": { + "text": "Reports a mismatch between actual and expected directive binding type.", + "markdown": "Reports a mismatch between actual and expected directive binding type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularBindingTypeMismatch", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularNonEmptyNgContent", + "shortDescription": { + "text": "Content inside tag" + }, + "fullDescription": { + "text": "Reports a text or tag occurrence inside a '' tag used for content projection.", + "markdown": "Reports a text or tag occurrence inside a `` tag used for content projection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularNonEmptyNgContent", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularUnsupportedSyntax", + "shortDescription": { + "text": "Unsupported Angular expression syntax" + }, + "fullDescription": { + "text": "Reports problems with Angular expression syntax, which is not supported in an older version of Angular.", + "markdown": "Reports problems with Angular expression syntax, which is not supported in an older version of Angular." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularUnsupportedSyntax", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularMissingRequiredDirectiveInputBinding", + "shortDescription": { + "text": "Missing required directive input" + }, + "fullDescription": { + "text": "Reports a missing binding for a required directive input.", + "markdown": "Reports a missing binding for a required directive input." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularMissingRequiredDirectiveInputBinding", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInsecureBindingToEvent", + "shortDescription": { + "text": "Insecure binding to event" + }, + "fullDescription": { + "text": "Reports a binding to an event property or attribute, for example, '[onclick]' or '[attr.onclick]' instead of '(click)'.", + "markdown": "Reports a binding to an event property or attribute, for example, `[onclick]` or `[attr.onclick]` instead of `(click)`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AngularInsecureBindingToEvent", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 8, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.plugins.postcss", + "version": "251.21381", + "rules": [ + { + "id": "PostCssCustomSelector", + "shortDescription": { + "text": "Invalid custom selector" + }, + "fullDescription": { + "text": "Reports a syntax error in PostCSS Custom Selector. Example: '@custom-selector :--heading h1, h2, h3;'", + "markdown": "Reports a syntax error in [PostCSS Custom Selector](https://github.com/postcss/postcss-custom-selectors).\n\nExample:\n\n\n @custom-selector :--heading h1, h2, h3;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssCustomSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 9, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssUnresolvedModuleValueReference", + "shortDescription": { + "text": "Unresolved CSS module value" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a CSS Module Value ('@value' declaration). Example: '@value foo from unknown;'", + "markdown": "Reports an unresolved reference to a [CSS Module Value](https://github.com/css-modules/postcss-modules-values) (`@value` declaration).\n\nExample:\n\n\n @value foo from unknown;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssUnresolvedModuleValueReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 9, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssNesting", + "shortDescription": { + "text": "Invalid nested rule" + }, + "fullDescription": { + "text": "Reports a nested style rule whose syntax doesn't comply with the PostCSS Nested or the PostCSS Nesting specification. Example: '.phone {\n &_title {}\n}'", + "markdown": "Reports a nested style rule whose syntax doesn't comply with the [PostCSS Nested](https://github.com/postcss/postcss-nested) or the [PostCSS Nesting](https://github.com/csstools/postcss-nesting) specification.\n\nExample:\n\n\n .phone {\n &_title {}\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PostCssNesting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 9, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssCustomMedia", + "shortDescription": { + "text": "Invalid custom media" + }, + "fullDescription": { + "text": "Reports a syntax error in a PostCSS Custom Media query. Example: '@custom-media --small-viewport (max-width: 30em);'", + "markdown": "Reports a syntax error in a [PostCSS Custom Media](https://github.com/postcss/postcss-custom-media) query.\n\nExample:\n\n\n @custom-media --small-viewport (max-width: 30em);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssCustomMedia", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 9, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssMediaRange", + "shortDescription": { + "text": "Invalid media query range" + }, + "fullDescription": { + "text": "Checks range context syntax, which may alternatively be used for media features with a 'range' type. Example: '@media screen and (500px <= width <= 1200px) {}'", + "markdown": "Checks [range context](https://github.com/postcss/postcss-media-minmax) syntax, which may alternatively be used for media features with a 'range' type.\n\nExample:\n\n\n @media screen and (500px <= width <= 1200px) {}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssMediaRange", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 9, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.sass", + "version": "251.21381", + "rules": [ + { + "id": "SassScssUnresolvedMixin", + "shortDescription": { + "text": "Unresolved mixin" + }, + "fullDescription": { + "text": "Reports an unresolved Sass/SCSS mixin reference. Example: '* {\n @include unknown-mixin;\n}'", + "markdown": "Reports an unresolved [Sass/SCSS mixin](https://sass-lang.com/documentation/at-rules/mixin) reference.\n\n**Example:**\n\n\n * {\n @include unknown-mixin;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SassScssUnresolvedMixin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 10, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SassScssResolvedByNameOnly", + "shortDescription": { + "text": "Missing import" + }, + "fullDescription": { + "text": "Reports a reference to a variable, mixin, or function that is declared in another file but this file isn't explicitly imported in the current file. Example: '* {\n margin: $var-in-other-file;\n}'", + "markdown": "Reports a reference to a variable, mixin, or function that is declared in another file but this file isn't explicitly [imported](https://sass-lang.com/documentation/at-rules/import) in the current file.\n\n**Example:**\n\n\n * {\n margin: $var-in-other-file;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "SassScssResolvedByNameOnly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 10, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SassScssUnresolvedPlaceholderSelector", + "shortDescription": { + "text": "Unresolved placeholder selector" + }, + "fullDescription": { + "text": "Reports an unresolved Sass/SCSS placeholder selector reference. Example: '* {\n @extend %unknown-placeholder-selector;\n}'", + "markdown": "Reports an unresolved [Sass/SCSS placeholder selector](https://sass-lang.com/documentation/variables) reference.\n\n**Example:**\n\n\n * {\n @extend %unknown-placeholder-selector;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SassScssUnresolvedPlaceholderSelector", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 10, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SassScssUnresolvedVariable", + "shortDescription": { + "text": "Unresolved variable" + }, + "fullDescription": { + "text": "Reports an unresolved Sass/SCSS variable reference. Example: '* {\n margin: $unknown-var;\n}'", + "markdown": "Reports an unresolved [Sass/SCSS variable](https://sass-lang.com/documentation/variables) reference.\n\n**Example:**\n\n\n * {\n margin: $unknown-var;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SassScssUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 10, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.sh", + "version": "251.21381", + "rules": [ + { + "id": "ShellCheck", + "shortDescription": { + "text": "ShellCheck" + }, + "fullDescription": { + "text": "Reports shell script bugs detected by the integrated ShellCheck static analysis tool.", + "markdown": "Reports shell script bugs detected by the integrated [ShellCheck](https://github.com/koalaman/shellcheck) static analysis tool." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ShellCheck", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Security" + } + }, + "relationships": [ + { + "target": { + "id": "Shell script", + "index": 11, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "name.kropp.intellij.makefile", + "version": "251.21381", + "rules": [ + { + "id": "MakefileUnresolvedPrerequisite", + "shortDescription": { + "text": "Unresolved prerequisite" + }, + "fullDescription": { + "text": "Reports unresolved target prerequisites", + "markdown": "Reports unresolved target prerequisites" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "MakefileUnresolvedPrerequisite", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Makefile", + "index": 13, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "Karma", + "version": "251.21381", + "rules": [ + { + "id": "KarmaConfigFile", + "shortDescription": { + "text": "Invalid Karma configuration file" + }, + "fullDescription": { + "text": "Reports a potential error in a file path ('basePath', 'files') for a Karma configuration file, for example, 'karma.conf.js'.", + "markdown": "Reports a potential error in a file path ('basePath', 'files') for a Karma configuration file, for example, `karma.conf.js`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KarmaConfigFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unit testing", + "index": 12, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.clion", + "version": "251.21381", + "rules": [ + { + "id": "CMakeMismatchedCommandArguments", + "shortDescription": { + "text": "Mismatched command arguments" + }, + "fullDescription": { + "text": "Reports mismatched arguments in opening- and closing commands. Example: 'if (A)\nendif (B)'", + "markdown": "Reports mismatched arguments in opening- and closing commands.\n\n**Example:**\n\n\n if (A)\n endif (B)\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CMakeMismatchedCommandArguments", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "CMake/General", + "index": 15, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CMakeDeprecatedCommands", + "shortDescription": { + "text": "Deprecated command used" + }, + "fullDescription": { + "text": "Reports a usage of a deprecated command.", + "markdown": "Reports a usage of a deprecated command." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CMakeDeprecatedCommands", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "CMake/General", + "index": 15, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.modules.json", + "version": "251.21381", + "rules": [ + { + "id": "JsonSchemaDeprecation", + "shortDescription": { + "text": "Deprecated JSON property" + }, + "fullDescription": { + "text": "Reports a deprecated property in a JSON file. Note that deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard extension 'deprecationMessage'.", + "markdown": "Reports a deprecated property in a JSON file. \nNote that deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard extension 'deprecationMessage'." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JsonSchemaDeprecation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 16, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaRefReference", + "shortDescription": { + "text": "Unresolved '$ref' and '$schema' references" + }, + "fullDescription": { + "text": "Reports an unresolved '$ref' or '$schema' path in a JSON schema.", + "markdown": "Reports an unresolved `$ref` or `$schema` path in a JSON schema. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonSchemaRefReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 16, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Json5StandardCompliance", + "shortDescription": { + "text": "Compliance with JSON5 standard" + }, + "fullDescription": { + "text": "Reports inconsistency with the language specification in a JSON5 file.", + "markdown": "Reports inconsistency with [the language specification](http://json5.org) in a JSON5 file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Json5StandardCompliance", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 16, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonDuplicatePropertyKeys", + "shortDescription": { + "text": "Duplicate keys in object literals" + }, + "fullDescription": { + "text": "Reports a duplicate key in an object literal.", + "markdown": "Reports a duplicate key in an object literal." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonDuplicatePropertyKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 16, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaCompliance", + "shortDescription": { + "text": "Compliance with JSON schema" + }, + "fullDescription": { + "text": "Reports inconsistence between a JSON file and the JSON schema that is assigned to it.", + "markdown": "Reports inconsistence between a JSON file and the [JSON schema](https://json-schema.org) that is assigned to it. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonSchemaCompliance", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 16, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonStandardCompliance", + "shortDescription": { + "text": "Compliance with JSON standard" + }, + "fullDescription": { + "text": "Reports the following discrepancies of a JSON file with the language specification: A line or block comment (configurable). Multiple top-level values (expect for JSON Lines files, configurable for others). A trailing comma in an object or array (configurable). A single quoted string. A property key is a not a double quoted strings. A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable).", + "markdown": "Reports the following discrepancies of a JSON file with [the language specification](https://tools.ietf.org/html/rfc7159):\n\n* A line or block comment (configurable).\n* Multiple top-level values (expect for JSON Lines files, configurable for others).\n* A trailing comma in an object or array (configurable).\n* A single quoted string.\n* A property key is a not a double quoted strings.\n* A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JsonStandardCompliance", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 16, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.dts", + "version": "251.21381", + "rules": [ + { + "id": "DtsPropertyEnum", + "shortDescription": { + "text": "Invalid property value (enum)" + }, + "fullDescription": { + "text": "Reports enum properties with invalid values. The values of an enum property are specified in the node binding.", + "markdown": "Reports enum properties with invalid values. The values of an enum property are specified in the node binding." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsPropertyEnum", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsDuplicateElement", + "shortDescription": { + "text": "Duplicate element" + }, + "fullDescription": { + "text": "Reports duplicated elements inside a node. This could either be two or more properties with the same name or two or more nodes.", + "markdown": "Reports duplicated elements inside a node. This could either be two or more properties with the same name or two or more nodes." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsDuplicateElement", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsRequiredProperty", + "shortDescription": { + "text": "Required properties" + }, + "fullDescription": { + "text": "Reports missing required properties. Properties are considered required if they are marked as required in the binding.", + "markdown": "Reports missing required properties. Properties are considered required if they are marked as required in the binding." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsRequiredProperty", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsBits", + "shortDescription": { + "text": "Invalid array element size" + }, + "fullDescription": { + "text": "Reports invalid array element size. Array elements must be 8, 16, 32 or 64-bits.", + "markdown": "Reports invalid array element size. Array elements must be 8, 16, 32 or 64-bits." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsBits", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsNodeName", + "shortDescription": { + "text": "Invalid node name" + }, + "fullDescription": { + "text": "Reports invalid node names. Node names should match '[a-zA-Z0-9,._+@-]+' and should only include at most one '@'.", + "markdown": "Reports invalid node names. Node names should match `[a-zA-Z0-9,._+@-]+` and should only include at most one `@`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsNodeName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PpParserError", + "shortDescription": { + "text": "Preprocessor parser" + }, + "fullDescription": { + "text": "Displays preprocessor parser errors.", + "markdown": "Displays preprocessor parser errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PpParserError", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsPropertyType", + "shortDescription": { + "text": "Invalid property type" + }, + "fullDescription": { + "text": "Reports properties with invalid type. The type of the property is specified in the node binding.", + "markdown": "Reports properties with invalid type. The type of the property is specified in the node binding." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsPropertyType", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsLabelName", + "shortDescription": { + "text": "Invalid label name" + }, + "fullDescription": { + "text": "Reports invalid label names. Label names should match '[a-zA-Z_][a-zA-Z0-9_]*'.", + "markdown": "Reports invalid label names. Label names should match `[a-zA-Z_][a-zA-Z0-9_]*`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsLabelName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsUnitName", + "shortDescription": { + "text": "Invalid unit name" + }, + "fullDescription": { + "text": "Reports invalid unit names inside node names. Unit names should not have leading 0s or start with 0x.", + "markdown": "Reports invalid unit names inside node names. Unit names should not have leading 0s or start with 0x." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DtsUnitName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsPropertyName", + "shortDescription": { + "text": "Invalid property name" + }, + "fullDescription": { + "text": "Reports invalid property names. Property names should match '[a-zA-Z0-9,._+*#?-]+'.", + "markdown": "Reports invalid property names. Property names should match `[a-zA-Z0-9,._+*#?-]+`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsPropertyName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsContainer", + "shortDescription": { + "text": "Invalid entry location" + }, + "fullDescription": { + "text": "Reports if an entry is not valid in its current location. For example if a property was defied on the root level of a devicetree source file.", + "markdown": "Reports if an entry is not valid in its current location. For example if a property was defied on the root level of a devicetree source file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsContainer", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsPropertyConst", + "shortDescription": { + "text": "Invalid property value (const)" + }, + "fullDescription": { + "text": "Reports const properties with invalid values. The value of a const property is specified in the node binding.", + "markdown": "Reports const properties with invalid values. The value of a const property is specified in the node binding." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsPropertyConst", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsStatementOrder", + "shortDescription": { + "text": "Invalid entry order" + }, + "fullDescription": { + "text": "Reports if property and node entries are in the wrong order. Property definitions should always come before node definitions.", + "markdown": "Reports if property and node entries are in the wrong order. Property definitions should always come before node definitions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsStatementOrder", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DtsUndeclaredProperty", + "shortDescription": { + "text": "Undeclared property" + }, + "fullDescription": { + "text": "Reports undeclared properties. Properties are undeclared if there not present in the properties section of the binding. There are some exceptions: Property name ends with: '-controller' Property name starts with: '#' Property name starts with: 'pinctrl-' And the following properties are allowed: status compatible phandle ranges device_type interrupts-extended interrupt-parent", + "markdown": "Reports undeclared properties. Properties are undeclared if there not present in the properties section of the binding. \n\nThere are some exceptions:\n\n* Property name ends with: `-controller`\n* Property name starts with: `#`\n* Property name starts with: `pinctrl-`\n\nAnd the following properties are allowed:\n\n\n\n* status\n* compatible\n* phandle\n* ranges\n* device_type\n* interrupts-extended\n* interrupt-parent" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DtsUndeclaredProperty", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Devicetree", + "index": 23, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij", + "version": "251.21381", + "rules": [ + { + "id": "HtmlUnknownBooleanAttribute", + "shortDescription": { + "text": "Incorrect boolean attribute" + }, + "fullDescription": { + "text": "Reports an HTML non-boolean attribute without a value. Suggests configuring attributes that should not be reported.", + "markdown": "Reports an HTML non-boolean attribute without a value. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownBooleanAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedCode", + "shortDescription": { + "text": "Duplicated code fragment" + }, + "fullDescription": { + "text": "Reports duplicated blocks of code from the selected scope: the same file or the entire project. The inspection features quick-fixes that help you to set the size of detected duplicates, navigate to repetitive code fragments, and compare them in a tool window. The inspection options allow you to select the scope of the reported duplicated fragments and set the initial size for the duplicated language constructs.", + "markdown": "Reports duplicated blocks of code from the selected scope: the same file or the entire project.\n\nThe inspection features quick-fixes that help you to set the size of detected duplicates, navigate to repetitive code fragments, and compare them in a tool window.\n\nThe inspection options allow you to select the scope of the reported duplicated fragments and set the initial size for the duplicated language constructs." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "DuplicatedCode", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentLineSeparators", + "shortDescription": { + "text": "Inconsistent line separators" + }, + "fullDescription": { + "text": "Reports files with line separators different from the ones that are specified in the project's settings. For example, the inspection will be triggered if you set the line separator to '\\n' in Settings | Editor | Code Style | Line separator, while the file you are editing uses '\\r\\n' as a line separator. The inspection also warns you about mixed line separators within a file.", + "markdown": "Reports files with line separators different from the ones that are specified in the project's settings.\n\nFor example, the inspection will be triggered if you set the line separator to `\\n` in\n[Settings \\| Editor \\| Code Style \\| Line separator](settings://preferences.sourceCode?Line%20separator),\nwhile the file you are editing uses `\\r\\n` as a line separator.\n\nThe inspection also warns you about mixed line separators within a file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InconsistentLineSeparators", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantSuppression", + "shortDescription": { + "text": "Redundant suppression" + }, + "fullDescription": { + "text": "Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context: '@SuppressWarning' annotation, or '// noinspection' line comment, or '/** noinspection */' JavaDoc comment Example: 'public class C {\n // symbol is already private,\n // but annotation is still around\n @SuppressWarnings({\"WeakerAccess\"})\n private boolean CONST = true;\n void f() {\n CONST = false;\n }\n}'", + "markdown": "Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context:\n\n* `@SuppressWarning` annotation, or\n* `// noinspection` line comment, or\n* `/** noinspection */` JavaDoc comment\n\nExample:\n\n\n public class C {\n // symbol is already private,\n // but annotation is still around\n @SuppressWarnings({\"WeakerAccess\"})\n private boolean CONST = true;\n void f() {\n CONST = false;\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantSuppression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ProblematicWhitespace", + "shortDescription": { + "text": "Problematic whitespace" + }, + "fullDescription": { + "text": "Reports the following problems: Tabs used for indentation when the code style is configured to use only spaces. Spaces used for indentation when the code style is configured to use only tabs. Spaces used for indentation and tabs used for alignment when the code style is configured to use smart tabs.", + "markdown": "Reports the following problems:\n\n* Tabs used for indentation when the code style is configured to use only spaces.\n* Spaces used for indentation when the code style is configured to use only tabs.\n* Spaces used for indentation and tabs used for alignment when the code style is configured to use smart tabs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ProblematicWhitespace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownTarget", + "shortDescription": { + "text": "Unresolved file in a link" + }, + "fullDescription": { + "text": "Reports an unresolved file in a link.", + "markdown": "Reports an unresolved file in a link." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownTarget", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SSBasedInspection", + "shortDescription": { + "text": "Structural search inspection" + }, + "fullDescription": { + "text": "Allows configuring Structural Search/Structural Replace templates that you can apply to the file you are editing. All matches will be highlighted and marked with the template name that you have configured. If you configure the Structural Replace pattern as well, the corresponding replace option will be available as a quick-fix.", + "markdown": "Allows configuring **Structural Search/Structural Replace** templates that you can apply to the file you are editing.\n\nAll matches will be highlighted and marked with the template name that you have configured.\nIf you configure the **Structural Replace** pattern as well, the corresponding replace option will be available as a quick-fix." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SSBasedInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Structural search", + "index": 42, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LongLine", + "shortDescription": { + "text": "Line is longer than allowed by code style" + }, + "fullDescription": { + "text": "Reports lines that are longer than the Hard wrap at parameter specified in Settings | Editor | Code Style | General.", + "markdown": "Reports lines that are longer than the **Hard wrap at** parameter specified in [Settings \\| Editor \\| Code Style \\| General](settings://preferences.sourceCode?Hard%20wrap%20at)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LongLine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlWrongRootElement", + "shortDescription": { + "text": "Wrong root element" + }, + "fullDescription": { + "text": "Reports a root tag name different from the name specified in the '' tag.", + "markdown": "Reports a root tag name different from the name specified in the `` tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlWrongRootElement", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckValidXmlInScriptTagBody", + "shortDescription": { + "text": "Malformed content of 'script' tag" + }, + "fullDescription": { + "text": "Reports contents of 'script' tags that are invalid XML. Example: '' After the quick-fix is applied: ''", + "markdown": "Reports contents of `script` tags that are invalid XML. \n\n**Example:**\n\n\n \n\nAfter the quick-fix is applied:\n\n\n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckValidXmlInScriptTagBody", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSuspiciousBackref", + "shortDescription": { + "text": "Suspicious back reference" + }, + "fullDescription": { + "text": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation. Example of a group defined after its back reference: '\\1(abc)' Example of a group and a back reference in different branches: 'a(b)c|(xy)\\1z' New in 2022.1", + "markdown": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation.\n\n**Example of a group defined after its back reference:**\n\n\n \\1(abc)\n\n**Example of a group and a back reference in different branches:**\n\n\n a(b)c|(xy)\\1z\n\nNew in 2022.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpSuspiciousBackref", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSingleCharAlternation", + "shortDescription": { + "text": "Single character alternation" + }, + "fullDescription": { + "text": "Reports single char alternation in a RegExp. It is simpler to use a character class instead. This may also provide better matching performance. Example: 'a|b|c|d' After the quick-fix is applied: '[abcd]' New in 2017.1", + "markdown": "Reports single char alternation in a RegExp. It is simpler to use a character class instead. This may also provide better matching performance.\n\n**Example:**\n\n\n a|b|c|d\n\nAfter the quick-fix is applied:\n\n\n [abcd]\n\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpSingleCharAlternation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownAttribute", + "shortDescription": { + "text": "Unknown attribute" + }, + "fullDescription": { + "text": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported.", + "markdown": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckTagEmptyBody", + "shortDescription": { + "text": "Empty element content" + }, + "fullDescription": { + "text": "Reports XML elements without contents. Example: '\n \n ' After the quick-fix is applied: '\n \n '", + "markdown": "Reports XML elements without contents.\n\n**Example:**\n\n\n \n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckTagEmptyBody", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantEscape", + "shortDescription": { + "text": "Redundant character escape" + }, + "fullDescription": { + "text": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets '[]' of a character class. Although unescaped opening curly braces '{' outside of character classes are allowed in some dialects (JavaScript, Python, and so on), it can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters. For this reason the inspection does not report escaped opening curly braces. Example: '\\-\\;[\\.]' After the quick-fix is applied: '-;[.]' The Ignore escaped closing brackets '}' and ']' option specifies whether to report '\\}' and '\\]' outside of a character class when they are allowed to be unescaped by the RegExp dialect. New in 2017.3", + "markdown": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets `[]` of a character class.\n\n\nAlthough unescaped opening curly braces `{` outside of character classes are allowed in some dialects (JavaScript, Python, and so on),\nit can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters.\nFor this reason the inspection does not report escaped opening curly braces.\n\n**Example:**\n\n\n \\-\\;[\\.]\n\nAfter the quick-fix is applied:\n\n\n -;[.]\n\n\nThe **Ignore escaped closing brackets '}' and '\\]'** option specifies whether to report `\\}` and `\\]` outside of a character class\nwhen they are allowed to be unescaped by the RegExp dialect.\n\nNew in 2017.3" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRedundantEscape", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnresolvedReference", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a named pattern ('define') in RELAX-NG files that use XML syntax. Suggests creating the referenced 'define' element.", + "markdown": "Reports an unresolved reference to a named pattern (`define`) in RELAX-NG files that use XML syntax. Suggests creating the referenced `define` element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "UnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RELAX NG", + "index": 60, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlMissingClosingTag", + "shortDescription": { + "text": "Missing closing tag" + }, + "fullDescription": { + "text": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional. Example: '\n \n

Behold!\n \n ' After the quick-fix is applied: '\n \n

Behold!

\n \n '", + "markdown": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional.\n\n**Example:**\n\n\n \n \n

Behold!\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n

Behold!

\n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlMissingClosingTag", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CustomRegExpInspection", + "shortDescription": { + "text": "Custom RegExp inspection" + }, + "fullDescription": { + "text": "Custom Regex Inspection", + "markdown": "Custom Regex Inspection" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CustomRegExpInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncorrectFormatting", + "shortDescription": { + "text": "Incorrect formatting" + }, + "fullDescription": { + "text": "Reports formatting issues that appear if your code doesn't follow your project's code style settings. This inspection is not compatible with languages that require third-party formatters for code formatting, for example, Go or C with CLangFormat enabled.", + "markdown": "Reports formatting issues that appear if your code doesn't\nfollow your project's code style settings.\n\n\nThis inspection is not compatible with languages that require\nthird-party formatters for code formatting, for example, Go or\nC with CLangFormat enabled." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "IncorrectFormatting", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlExtraClosingTag", + "shortDescription": { + "text": "Redundant closing tag" + }, + "fullDescription": { + "text": "Reports redundant closing tags on empty elements, for example, 'img' or 'br'. Example: '\n \n

\n \n ' After the quick-fix is applied: '\n \n
\n \n '", + "markdown": "Reports redundant closing tags on empty elements, for example, `img` or `br`.\n\n**Example:**\n\n\n \n \n

\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n
\n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlExtraClosingTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownAnchorTarget", + "shortDescription": { + "text": "Unresolved fragment in a link" + }, + "fullDescription": { + "text": "Reports an unresolved last part of an URL after the '#' sign.", + "markdown": "Reports an unresolved last part of an URL after the `#` sign." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownAnchorTarget", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpUnexpectedAnchor", + "shortDescription": { + "text": "Begin or end anchor in unexpected position" + }, + "fullDescription": { + "text": "Reports '^' or '\\A' anchors not at the beginning of the pattern and '$', '\\Z' or '\\z' anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the '^' and '$' anchors, most likely the literal character was meant and the escape forgotten. Example: '(Price $10)' New in 2018.1", + "markdown": "Reports `^` or `\\A` anchors not at the beginning of the pattern and `$`, `\\Z` or `\\z` anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the `^` and `$` anchors, most likely the literal character was meant and the escape forgotten.\n\n**Example:**\n\n\n (Price $10)\n\n\nNew in 2018.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpUnexpectedAnchor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpellCheckingInspection", + "shortDescription": { + "text": "Typo" + }, + "fullDescription": { + "text": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click.", + "markdown": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "SpellCheckingInspection", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 69, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckXmlFileWithXercesValidator", + "shortDescription": { + "text": "Failed external validation" + }, + "fullDescription": { + "text": "Reports a discrepancy in an XML file with the specified DTD or schema detected by the Xerces validator.", + "markdown": "Reports a discrepancy in an XML file with the specified DTD or schema detected by the Xerces validator." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckXmlFileWithXercesValidator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownTag", + "shortDescription": { + "text": "Unknown tag" + }, + "fullDescription": { + "text": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported.", + "markdown": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpEscapedMetaCharacter", + "shortDescription": { + "text": "Escaped meta character" + }, + "fullDescription": { + "text": "Reports escaped meta characters. Some RegExp coding styles specify that meta characters should be placed inside a character class, to make the regular expression easier to understand. This inspection does not warn about the meta character '[', ']' and '^', because those would need additional escaping inside a character class. Example: '\\d+\\.\\d+' After the quick-fix is applied: '\\d+[.]\\d+' New in 2017.1", + "markdown": "Reports escaped meta characters. Some RegExp coding styles specify that meta characters should be placed inside a character class, to make the regular expression easier to understand. This inspection does not warn about the meta character `[`, `]` and `^`, because those would need additional escaping inside a character class.\n\n**Example:**\n\n\n \\d+\\.\\d+\n\nAfter the quick-fix is applied:\n\n\n \\d+[.]\\d+\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RegExpEscapedMetaCharacter", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlHighlighting", + "shortDescription": { + "text": "XML highlighting" + }, + "fullDescription": { + "text": "Reports XML validation problems in the results of a batch code inspection.", + "markdown": "Reports XML validation problems in the results of a batch code inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlHighlighting", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDuplicatedId", + "shortDescription": { + "text": "Duplicate 'id' attribute" + }, + "fullDescription": { + "text": "Reports a duplicate values of the 'id' attribute in XML and HTML.", + "markdown": "Reports a duplicate values of the `id` attribute in XML and HTML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlDuplicatedId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpDuplicateCharacterInClass", + "shortDescription": { + "text": "Duplicate character in character class" + }, + "fullDescription": { + "text": "Reports duplicate characters inside a RegExp character class. Duplicate characters are unnecessary and can be removed without changing the semantics of the regex. Example: '[aabc]' After the quick-fix is applied: '[abc]'", + "markdown": "Reports duplicate characters inside a RegExp character class. Duplicate characters are unnecessary and can be removed without changing the semantics of the regex.\n\n**Example:**\n\n\n [aabc]\n\nAfter the quick-fix is applied:\n\n\n [abc]\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpDuplicateCharacterInClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlInvalidId", + "shortDescription": { + "text": "Unresolved 'id' reference" + }, + "fullDescription": { + "text": "Reports the use of the 'id' that is not defined anywhere in XML and HTML.", + "markdown": "Reports the use of the `id` that is not defined anywhere in XML and HTML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlInvalidId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnboundNsPrefix", + "shortDescription": { + "text": "Unbound namespace prefix" + }, + "fullDescription": { + "text": "Reports an unbound namespace prefix in XML.", + "markdown": "Reports an unbound namespace prefix in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlUnboundNsPrefix", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RequiredAttributes", + "shortDescription": { + "text": "Missing required attribute" + }, + "fullDescription": { + "text": "Reports a missing mandatory attribute in an XML/HTML tag. Suggests configuring attributes that should not be reported.", + "markdown": "Reports a missing mandatory attribute in an XML/HTML tag. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RequiredAttributes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReassignedToPlainText", + "shortDescription": { + "text": "Reassigned to plain text" + }, + "fullDescription": { + "text": "Reports files that were explicitly re-assigned to Plain Text File Type. This association is unnecessary because the platform auto-detects text files by content automatically. You can dismiss this warning by removing the file type association in Settings | Editor | File Types | Text.", + "markdown": "Reports files that were explicitly re-assigned to Plain Text File Type. This association is unnecessary because the platform auto-detects text files by content automatically.\n\nYou can dismiss this warning by removing the file type association\nin **Settings \\| Editor \\| File Types \\| Text**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReassignedToPlainText", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnusedNamespaceDeclaration", + "shortDescription": { + "text": "Unused schema declaration" + }, + "fullDescription": { + "text": "Reports an unused namespace declaration or location hint in XML.", + "markdown": "Reports an unused namespace declaration or location hint in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlUnusedNamespaceDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantClassElement", + "shortDescription": { + "text": "Redundant '\\d', '[:digit:]', or '\\D' class elements" + }, + "fullDescription": { + "text": "Reports redundant '\\d' or '[:digit:]' that are used in one class with '\\w' or '[:word:]' ('\\D' with '\\W') and can be removed. Example: '[\\w\\d]' After the quick-fix is applied: '[\\w]' New in 2022.2", + "markdown": "Reports redundant `\\d` or `[:digit:]` that are used in one class with `\\w` or `[:word:]` (`\\D` with `\\W`) and can be removed.\n\n**Example:**\n\n\n [\\w\\d]\n\nAfter the quick-fix is applied:\n\n\n [\\w]\n\nNew in 2022.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RegExpRedundantClassElement", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSimplifiable", + "shortDescription": { + "text": "Regular expression can be simplified" + }, + "fullDescription": { + "text": "Reports regular expressions that can be simplified. Example: '[a] xx* [ah-hz]' After the quick-fix is applied: 'a x+ [ahz]' New in 2022.1", + "markdown": "Reports regular expressions that can be simplified.\n\n**Example:**\n\n\n [a] xx* [ah-hz]\n\nAfter the quick-fix is applied:\n\n\n a x+ [ahz]\n\nNew in 2022.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RegExpSimplifiable", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpEmptyAlternationBranch", + "shortDescription": { + "text": "Empty branch in alternation" + }, + "fullDescription": { + "text": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation. Example: '(alpha||bravo)' After the quick-fix is applied: '(alpha|bravo)' New in 2017.2", + "markdown": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation.\n\n**Example:**\n\n\n (alpha||bravo)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo)\n\nNew in 2017.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpEmptyAlternationBranch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Annotator", + "shortDescription": { + "text": "Annotator" + }, + "fullDescription": { + "text": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection: Option \"Report syntax errors\": report parser-related issues. Option \"Report issues from language-specific annotators\": report issues found by annotators configured for the relevant language. See Custom Language Support: Annotators for details. Option \"Report other highlighting problems\": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See Custom Language Support: Highlighting for details.", + "markdown": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection:\n\n* Option \"**Report syntax errors**\": report parser-related issues.\n* Option \"**Report issues from language-specific annotators** \": report issues found by annotators configured for the relevant language. See [Custom Language Support: Annotators](https://plugins.jetbrains.com/docs/intellij/annotator.html) for details.\n* Option \"**Report other highlighting problems** \": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See [Custom Language Support: Highlighting](https://plugins.jetbrains.com/docs/intellij/syntax-highlighting-and-error-highlighting.html#semantic-highlighting) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Annotator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlPathReference", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference in XML.", + "markdown": "Reports an unresolved file reference in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlPathReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpUnnecessaryNonCapturingGroup", + "shortDescription": { + "text": "Unnecessary non-capturing group" + }, + "fullDescription": { + "text": "Reports unnecessary non-capturing groups, which have no influence on the match result. Example: 'Everybody be cool, (?:this) is a robbery!' After the quick-fix is applied: 'Everybody be cool, this is a robbery!' New in 2021.1", + "markdown": "Reports unnecessary non-capturing groups, which have no influence on the match result.\n\n**Example:**\n\n\n Everybody be cool, (?:this) is a robbery!\n\nAfter the quick-fix is applied:\n\n\n Everybody be cool, this is a robbery!\n\nNew in 2021.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpUnnecessaryNonCapturingGroup", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TodoComment", + "shortDescription": { + "text": "TODO comment" + }, + "fullDescription": { + "text": "Reports TODO comments in your code. You can configure the format for TODO comments in Settings | Editor | TODO. Enable the Only warn on TODO comments without any details option to only warn on empty TODO comments, that don't provide any description on the task that should be done. Disable to report all TODO comments.", + "markdown": "Reports **TODO** comments in your code.\n\nYou can configure the format for **TODO** comments in [Settings \\| Editor \\| TODO](settings://preferences.toDoOptions).\n\nEnable the **Only warn on TODO comments without any details** option to only warn on empty TODO comments, that\ndon't provide any description on the task that should be done. Disable to report all TODO comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TodoComment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantNestedCharacterClass", + "shortDescription": { + "text": "Redundant nested character class" + }, + "fullDescription": { + "text": "Reports unnecessary nested character classes. Example: '[a-c[x-z]]' After the quick-fix is applied: '[a-cx-z]' New in 2020.2", + "markdown": "Reports unnecessary nested character classes.\n\n**Example:**\n\n\n [a-c[x-z]]\n\nAfter the quick-fix is applied:\n\n\n [a-cx-z]\n\nNew in 2020.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRedundantNestedCharacterClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDeprecatedElement", + "shortDescription": { + "text": "Deprecated symbol" + }, + "fullDescription": { + "text": "Reports a deprecated XML element or attribute. Symbols can be marked by XML comment or documentation tag with text 'deprecated'.", + "markdown": "Reports a deprecated XML element or attribute.\n\nSymbols can be marked by XML comment or documentation tag with text 'deprecated'." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlDeprecatedElement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlWrongAttributeValue", + "shortDescription": { + "text": "Wrong attribute value" + }, + "fullDescription": { + "text": "Reports an incorrect HTML attribute value.", + "markdown": "Reports an incorrect HTML attribute value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlWrongAttributeValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDefaultAttributeValue", + "shortDescription": { + "text": "Redundant attribute with default value" + }, + "fullDescription": { + "text": "Reports a redundant assignment of the default value to an XML attribute.", + "markdown": "Reports a redundant assignment of the default value to an XML attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlDefaultAttributeValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpOctalEscape", + "shortDescription": { + "text": "Octal escape" + }, + "fullDescription": { + "text": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion. Example: '\\07' After the quick-fix is applied: '\\x07' New in 2017.1", + "markdown": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion.\n\n**Example:**\n\n\n \\07\n\nAfter the quick-fix is applied:\n\n\n \\x07\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RegExpOctalEscape", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedDefine", + "shortDescription": { + "text": "Unused define" + }, + "fullDescription": { + "text": "Reports an unused named pattern ('define') in a RELAX-NG file (XML or Compact Syntax). 'define' elements that are used through an include in another file are ignored.", + "markdown": "Reports an unused named pattern (`define`) in a RELAX-NG file (XML or Compact Syntax). `define` elements that are used through an include in another file are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedDefine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RELAX NG", + "index": 60, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyDirectory", + "shortDescription": { + "text": "Empty directory" + }, + "fullDescription": { + "text": "Reports empty directories. Available only from Code | Inspect Code or Code | Analyze Code | Run Inspection by Name and isn't reported in the editor. Use the Only report empty directories located under a source folder option to have only directories under source roots reported.", + "markdown": "Reports empty directories.\n\nAvailable only from **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name** and isn't reported in the editor.\n\nUse the **Only report empty directories located under a source folder** option to have only directories under source\nroots reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyDirectory", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpAnonymousGroup", + "shortDescription": { + "text": "Anonymous capturing group or numeric back reference" + }, + "fullDescription": { + "text": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. '(?:xxx)' instead of '(xxx)'. Example: '(\\d\\d\\d\\d)\\1' A better regex pattern could look like this: '(?\\d\\d\\d\\d)\\k' New in 2017.2", + "markdown": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. `(?:xxx)` instead of `(xxx)`.\n\n**Example:**\n\n\n (\\d\\d\\d\\d)\\1\n\nA better regex pattern could look like this:\n\n\n (?\\d\\d\\d\\d)\\k\n\nNew in 2017.2" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpAnonymousGroup", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckDtdRefs", + "shortDescription": { + "text": "Unresolved DTD reference" + }, + "fullDescription": { + "text": "Reports inconsistency in a DTD-specific reference, for example, in a reference to an XML entity or to a DTD element declaration. Works in DTD an XML files.", + "markdown": "Reports inconsistency in a DTD-specific reference, for example, in a reference to an XML entity or to a DTD element declaration. Works in DTD an XML files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckDtdRefs", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonAsciiCharacters", + "shortDescription": { + "text": "Non-ASCII characters" + }, + "fullDescription": { + "text": "Reports code elements that use non-ASCII symbols in an unusual context. Example: Non-ASCII characters used in identifiers, strings, or comments. Identifiers written in different languages, such as 'myСollection' with the letter 'C' written in Cyrillic. Comments or strings containing Unicode symbols, such as long dashes and arrows.", + "markdown": "Reports code elements that use non-ASCII symbols in an unusual context.\n\nExample:\n\n* Non-ASCII characters used in identifiers, strings, or comments.\n* Identifiers written in different languages, such as `my`**С**`ollection` with the letter **C** written in Cyrillic.\n* Comments or strings containing Unicode symbols, such as long dashes and arrows." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NonAsciiCharacters", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "Internationalization", + "index": 79, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnresolvedReference", + "shortDescription": { + "text": "Unresolved references" + }, + "fullDescription": { + "text": "Reports an unresolved references in XML.", + "markdown": "Reports an unresolved references in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlUnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 46, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LossyEncoding", + "shortDescription": { + "text": "Lossy encoding" + }, + "fullDescription": { + "text": "Reports characters that cannot be displayed because of the current document encoding. Examples: If you type international characters in a document with the US-ASCII charset, some characters will be lost on save. If you load a UTF-8-encoded file using the ISO-8859-1 one-byte charset, some characters will be displayed incorrectly. You can fix this by changing the file encoding either by specifying the encoding directly in the file, e.g. by editing 'encoding=' attribute in the XML prolog of XML file, or by changing the corresponding options in Settings | Editor | File Encodings.", + "markdown": "Reports characters that cannot be displayed because of the current document encoding.\n\nExamples:\n\n* If you type international characters in a document with the **US-ASCII** charset, some characters will be lost on save.\n* If you load a **UTF-8** -encoded file using the **ISO-8859-1** one-byte charset, some characters will be displayed incorrectly.\n\nYou can fix this by changing the file encoding\neither by specifying the encoding directly in the file, e.g. by editing `encoding=` attribute in the XML prolog of XML file,\nor by changing the corresponding options in **Settings \\| Editor \\| File Encodings**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LossyEncoding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Internationalization", + "index": 79, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRepeatedSpace", + "shortDescription": { + "text": "Consecutive spaces" + }, + "fullDescription": { + "text": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier. Example: '( )' After the quick-fix is applied: '( {5})' New in 2017.1", + "markdown": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier.\n\n**Example:**\n\n\n ( )\n\nAfter the quick-fix is applied:\n\n\n ( {5})\n\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRepeatedSpace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpDuplicateAlternationBranch", + "shortDescription": { + "text": "Duplicate branch in alternation" + }, + "fullDescription": { + "text": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression. Example: '(alpha|bravo|charlie|alpha)' After the quick-fix is applied: '(alpha|bravo|charlie)' New in 2017.1", + "markdown": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression.\n\n**Example:**\n\n\n (alpha|bravo|charlie|alpha)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo|charlie)\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpDuplicateAlternationBranch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 52, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IgnoreFileDuplicateEntry", + "shortDescription": { + "text": "Ignore file duplicates" + }, + "fullDescription": { + "text": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed. Example: '# Output directories\n /out/\n /target/\n /out/'", + "markdown": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed.\n\nExample:\n\n\n # Output directories\n /out/\n /target/\n /out/\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IgnoreFileDuplicateEntry", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Version control", + "index": 81, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckEmptyScriptTag", + "shortDescription": { + "text": "Empty tag" + }, + "fullDescription": { + "text": "Reports empty tags that do not work in some browsers. Example: '\n \n '", + "markdown": "Reports empty tags that do not work in some browsers.\n\n**Example:**\n\n\n \n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckEmptyScriptTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "HtmlTools", + "version": "251.21381", + "rules": [ + { + "id": "HtmlRequiredAltAttribute", + "shortDescription": { + "text": "Missing required 'alt' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'alt' attribute in a 'img' or 'applet' tag or in a 'area' element of an image map. Suggests adding a required attribute with a text alternative for the contents of the tag. Based on WCAG 2.0: H24, H35, H36, H37.", + "markdown": "Reports a missing `alt` attribute in a `img` or `applet` tag or in a `area` element of an image map. Suggests adding a required attribute with a text alternative for the contents of the tag. Based on WCAG 2.0: [H24](https://www.w3.org/TR/WCAG20-TECHS/H24.html), [H35](https://www.w3.org/TR/WCAG20-TECHS/H35.html), [H36](https://www.w3.org/TR/WCAG20-TECHS/H36.html), [H37](https://www.w3.org/TR/WCAG20-TECHS/H37.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredAltAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 32, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlFormInputWithoutLabel", + "shortDescription": { + "text": "Missing associated label" + }, + "fullDescription": { + "text": "Reports a form element ('input', 'textarea', or 'select') without an associated label. Suggests creating a new label. Based on WCAG 2.0: H44.", + "markdown": "Reports a form element (`input`, `textarea`, or `select`) without an associated label. Suggests creating a new label. Based on WCAG 2.0: [H44](https://www.w3.org/TR/WCAG20-TECHS/H44.html). " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlFormInputWithoutLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 32, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredTitleAttribute", + "shortDescription": { + "text": "Missing required 'title' attribute" + }, + "fullDescription": { + "text": "Reports a missing title attribute 'frame', 'iframe', 'dl', and 'a' tags. Suggests adding a title attribute. Based on WCAG 2.0: H33, H40, and H64.", + "markdown": "Reports a missing title attribute `frame`, `iframe`, `dl`, and `a` tags. Suggests adding a title attribute. Based on WCAG 2.0: [H33](https://www.w3.org/TR/WCAG20-TECHS/H33.html), [H40](https://www.w3.org/TR/WCAG20-TECHS/H40.html), and [H64](https://www.w3.org/TR/WCAG20-TECHS/H64.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlRequiredTitleAttribute", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 32, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlDeprecatedTag", + "shortDescription": { + "text": "Obsolete tag" + }, + "fullDescription": { + "text": "Reports an obsolete HTML5 tag. Suggests replacing the obsolete tag with a CSS or another tag.", + "markdown": "Reports an obsolete HTML5 tag. Suggests replacing the obsolete tag with a CSS or another tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlDeprecatedTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckImageSize", + "shortDescription": { + "text": "Mismatched image size" + }, + "fullDescription": { + "text": "Reports a 'width' and 'height' attribute value of a 'img' tag that is different from the actual width and height of the referenced image.", + "markdown": "Reports a `width` and `height` attribute value of a `img` tag that is different from the actual width and height of the referenced image." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckImageSize", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Performance" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredSummaryAttribute", + "shortDescription": { + "text": "Missing required 'summary' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'summary' attribute in a 'table' tag. Suggests adding a'summary' attribute. Based on WCAG 2.0: H73.", + "markdown": "Reports a missing `summary` attribute in a `table` tag. Suggests adding a`summary` attribute. Based on WCAG 2.0: [H73](https://www.w3.org/TR/WCAG20-TECHS/H73.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlRequiredSummaryAttribute", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 32, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredLangAttribute", + "shortDescription": { + "text": "Missing required 'lang' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'lang' (or 'xml:lang') attribute in a 'html' tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0: H57.", + "markdown": "Reports a missing `lang` (or `xml:lang`) attribute in a `html` tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0: [H57](https://www.w3.org/TR/WCAG20-TECHS/H57.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredLangAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 32, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlNonExistentInternetResource", + "shortDescription": { + "text": "Unresolved web link" + }, + "fullDescription": { + "text": "Reports an unresolved web link. Works by making network requests in the background.", + "markdown": "Reports an unresolved web link. Works by making network requests in the background." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlNonExistentInternetResource", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredTitleElement", + "shortDescription": { + "text": "Missing required 'title' element" + }, + "fullDescription": { + "text": "Reports a missing 'title' element inside a 'head' section. Suggests adding a 'title' element. The title should describe the document. Based on WCAG 2.0: H25.", + "markdown": "Reports a missing `title` element inside a `head` section. Suggests adding a `title` element. The title should describe the document. Based on WCAG 2.0: [H25](https://www.w3.org/TR/WCAG20-TECHS/H25.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredTitleElement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 32, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlDeprecatedAttribute", + "shortDescription": { + "text": "Obsolete attribute" + }, + "fullDescription": { + "text": "Reports an obsolete HTML5 attribute.", + "markdown": "Reports an obsolete HTML5 attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlDeprecatedAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlPresentationalElement", + "shortDescription": { + "text": "Presentational tag" + }, + "fullDescription": { + "text": "Reports a presentational HTML tag. Suggests replacing the presentational tag with a CSS or another tag.", + "markdown": "Reports a presentational HTML tag. Suggests replacing the presentational tag with a CSS or another tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlPresentationalElement", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 24, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "Docker", + "version": "251.21381", + "rules": [ + { + "id": "ComposeMissingKeys", + "shortDescription": { + "text": "Missing docker-compose YAML keys" + }, + "fullDescription": { + "text": "Reports missing required keys in Docker Compose files.", + "markdown": "Reports missing required keys in Docker Compose files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ComposeMissingKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 36, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileAssignments", + "shortDescription": { + "text": "Invalid spaces in ''key=value'' pair" + }, + "fullDescription": { + "text": "Reports incorrect spacing for key-value pairs in 'ARG', 'ENV', and 'LABEL' commands. While it is not explicitly specified in the Dockerfile specification, some combinations of spacing for key-value pairs are not allowed. Docker build will fail after reaching the problem instruction. Examples: The 'ARG' command does not allow any spaces around '=' 'ENV' and 'LABEL' do not allow spaces after '=' '# all the commands below will fail\n ARG answer = 42\n ARG version= \"1.0.0\"\n LABEL \"maintained.by\"= someone@gmail.com\n ENV JAVA_HOME= \"/docker-java-home\"' After the quick-fix is applied: 'ARG answer=2\n ARG version=\"1.0.0\"\n LABEL \"maintained.by\"=someone@gmail.com\n ENV JAVA_HOME=\"/docker-java-home\"'", + "markdown": "Reports incorrect spacing for key-value pairs in `ARG`, `ENV`, and `LABEL` commands.\n\n\nWhile it is not explicitly specified in the [Dockerfile specification](https://docs.docker.com/engine/reference/builder/#arg),\nsome combinations of spacing for key-value pairs are not allowed.\nDocker build will fail after reaching the problem instruction.\n\n**Examples:**\n\n* The `ARG` command does not allow any spaces around '='\n* `ENV` and `LABEL` do not allow spaces after '='\n\n\n # all the commands below will fail\n ARG answer = 42\n ARG version= \"1.0.0\"\n LABEL \"maintained.by\"= someone@gmail.com\n ENV JAVA_HOME= \"/docker-java-home\"\n\nAfter the quick-fix is applied:\n\n\n ARG answer=2\n ARG version=\"1.0.0\"\n LABEL \"maintained.by\"=someone@gmail.com\n ENV JAVA_HOME=\"/docker-java-home\"\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileAssignments", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileAddOrCopyPaths", + "shortDescription": { + "text": "Invalid destination for ''ADD''/''COPY'' commands" + }, + "fullDescription": { + "text": "Reports invalid destination directories in 'ADD' and 'COPY' commands. According to the Dockerfile specification, if multiple sources are specified, then the destination must be a directory, and it must end with a slash '/'. Otherwise, Docker build will fail. Examples: '# all the commands below will fail\n ADD textA.txt textB.txt relativeDir\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination\"]\n COPY text3.txt text4.txt /absolute/path' After the quick-fix is applied: 'ADD textA.txt textB.txt relativeDir/\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY text3.txt text4.txt /absolute/path/'", + "markdown": "Reports invalid destination directories in `ADD` and `COPY` commands.\n\n\nAccording to the [Dockerfile specification](https://docs.docker.com/engine/reference/builder/#add),\nif multiple sources are specified, then the destination must be a directory, and it must end with a slash '/'.\nOtherwise, Docker build will fail.\n\n**Examples:**\n\n\n # all the commands below will fail\n ADD textA.txt textB.txt relativeDir\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination\"]\n COPY text3.txt text4.txt /absolute/path\n\nAfter the quick-fix is applied:\n\n\n ADD textA.txt textB.txt relativeDir/\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY text3.txt text4.txt /absolute/path/\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DockerFileAddOrCopyPaths", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileRunCommandMissingContinuation", + "shortDescription": { + "text": "Missing continuation character for ''RUN'' command" + }, + "fullDescription": { + "text": "Reports missing continuation characters in 'RUN' command. In the shell form of 'RUN' command you should use a '\\' (backslash) to continue a single 'RUN' instruction onto the next line. Otherwise, Docker build will fail. Examples: '# the command below will fail\n RUN /bin/bash -c 'source $HOME/.bashrc;\n echo $HOME'' After the quick-fix is applied: 'RUN /bin/bash -c 'source $HOME/.bashrc; \\\n echo $HOME''", + "markdown": "Reports missing continuation characters in `RUN` command.\n\n\nIn the *shell* form of `RUN` command you should use a '\\\\' (backslash)\nto continue a single `RUN` instruction onto the next line.\nOtherwise, Docker build will fail.\n\n**Examples:**\n\n\n # the command below will fail\n RUN /bin/bash -c 'source $HOME/.bashrc;\n echo $HOME'\n\nAfter the quick-fix is applied:\n\n\n RUN /bin/bash -c 'source $HOME/.bashrc; \\\n echo $HOME'\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileRunCommandMissingContinuation", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileDuplicatedStageName", + "shortDescription": { + "text": "Duplicated stage name" + }, + "fullDescription": { + "text": "Reports duplicated stage names in 'FROM ... AS stage-name' command. Examples: '# the commands below will fail\n FROM ubuntu:latest AS stage1\n FROM ubuntu:latest AS stage1'", + "markdown": "Reports duplicated stage names in `FROM ... AS stage-name` command.\n\n**Examples:**\n\n\n # the commands below will fail\n FROM ubuntu:latest AS stage1\n FROM ubuntu:latest AS stage1\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileDuplicatedStageName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerJsonFormStringLiterals", + "shortDescription": { + "text": "A single quoted string in JSON array format" + }, + "fullDescription": { + "text": "Reports a single quoted string in JSON array format. JSON array form, must use double-quotes (\") around words not single-quotes ('). Otherwise, Docker build will fail. Examples: '# all the commands below will fail\n RUN ['/bin/bash', '-c', 'echo hello']\n ADD ['binaryA.jar', 'binary2.jar', 'destination/']\n COPY ['binaryA.jar', 'binary2.jar', 'destination/']' After the quick-fix is applied: 'RUN [\"/bin/bash\", \"-c\", \"echo hello\"]\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]'", + "markdown": "Reports a single quoted string in JSON array format.\n\n\nJSON array form, must use double-quotes (\") around words not single-quotes ('). Otherwise, Docker build will fail.\n\n**Examples:**\n\n\n # all the commands below will fail\n RUN ['/bin/bash', '-c', 'echo hello']\n ADD ['binaryA.jar', 'binary2.jar', 'destination/']\n COPY ['binaryA.jar', 'binary2.jar', 'destination/']\n\nAfter the quick-fix is applied:\n\n\n RUN [\"/bin/bash\", \"-c\", \"echo hello\"]\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DockerJsonFormStringLiterals", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileEntrypointWithoutExec", + "shortDescription": { + "text": "Missing 'exec' in entrypoint shell form" + }, + "fullDescription": { + "text": "Reports missing 'exec' in the shell form of ENTRYPOINT command. To ensure that 'docker stop' will signal any long running ENTRYPOINT executable correctly, it needs to be started with 'exec'. See Dockerfile reference for more information.", + "markdown": "Reports missing `exec` in the shell form of ENTRYPOINT command.\n\n\nTo ensure that `docker stop` will signal any long running ENTRYPOINT executable correctly,\nit needs to be started with `exec`.\n\n\nSee [Dockerfile reference](https://docs.docker.com/reference/dockerfile/#shell-form-entrypoint-example) for more information." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DockerFileEntrypointWithoutExec", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeErroneousRelation", + "shortDescription": { + "text": "Erroneous relation in docker-compose YAML" + }, + "fullDescription": { + "text": "Reports erroneous relations in Docker Compose files. According to the Compose file specification, certain fields may be invalid depending on the other key-value pairs and may cause errors. For example, one such relation is volume 'source' field, which is invalid when the volume 'type' is 'tmpfs'.", + "markdown": "Reports erroneous relations in Docker Compose files.\n\n\nAccording to the [Compose file specification](https://docs.docker.com/reference/compose-file/services/#volumes),\ncertain fields may be invalid depending on the other key-value pairs and may cause errors.\n\n\nFor example, one such relation is volume `source` field, which is invalid when the volume `type` is `tmpfs`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ComposeErroneousRelation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 36, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeUnknownValues", + "shortDescription": { + "text": "Unknown docker-compose YAML values" + }, + "fullDescription": { + "text": "Reports unrecognized values in Docker Compose files.", + "markdown": "Reports unrecognized values in Docker Compose files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ComposeUnknownValues", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 36, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeUnknownKeys", + "shortDescription": { + "text": "Unknown docker-compose YAML keys" + }, + "fullDescription": { + "text": "Reports unrecognized keys in Docker Compose files.", + "markdown": "Reports unrecognized keys in Docker Compose files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ComposeUnknownKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 36, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeUnquotedPorts", + "shortDescription": { + "text": "Unquoted port mappings" + }, + "fullDescription": { + "text": "Reports unquoted port mappings in Docker Compose files. According to the Compose file specification, mapping ports in the 'HOST:CONTAINER' format may lead to erroneous results when using a container port lower than 60, because YAML parses numbers in the format 'xx:yy' as a base-60 value. For this reason, we recommend always explicitly specifying the port mappings as strings. Examples: 'ports:\n - 3000\n - 3000-3005\n - 22:22\n - 8080:8080' After the quick-fix is applied: 'ports:\n - \"3000\"\n - \"3000-3005\"\n - \"22:22\"\n - \"8080:8080\"'", + "markdown": "Reports unquoted port mappings in Docker Compose files.\n\n\nAccording to the [Compose file specification](https://docs.docker.com/compose/compose-file/compose-file-v3/#short-syntax-1),\nmapping ports in the `HOST:CONTAINER` format may lead to erroneous results when using a container port lower than 60,\nbecause YAML parses numbers in the format `xx:yy` as a base-60 value.\nFor this reason, we recommend always explicitly specifying the port mappings as strings.\n\n**Examples:**\n\n\n ports:\n - 3000\n - 3000-3005\n - 22:22\n - 8080:8080\n\nAfter the quick-fix is applied:\n\n\n ports:\n - \"3000\"\n - \"3000-3005\"\n - \"22:22\"\n - \"8080:8080\"\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ComposeUnquotedPorts", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 36, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileArgumentCount", + "shortDescription": { + "text": "Wrong number of arguments" + }, + "fullDescription": { + "text": "Reports invalid number of arguments for the Dockerfile commands. Docker build will fail after reaching the instruction with an invalid number of arguments.", + "markdown": "Reports invalid number of arguments for the Dockerfile commands.\n\n\nDocker build will fail after reaching the instruction with an invalid number of arguments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileArgumentCount", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 40, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.css", + "version": "251.21381", + "rules": [ + { + "id": "CssInvalidHtmlTagReference", + "shortDescription": { + "text": "Invalid type selector" + }, + "fullDescription": { + "text": "Reports a CSS type selector that matches an unknown HTML element.", + "markdown": "Reports a CSS [type selector](https://developer.mozilla.org/en-US/docs/Web/CSS/Type_selectors) that matches an unknown HTML element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidHtmlTagReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCustomPropertyAtRuleDeclaration", + "shortDescription": { + "text": "Invalid @property declaration" + }, + "fullDescription": { + "text": "Reports a missing required syntax, inherits, or initial-value property in a declaration of a custom property.", + "markdown": "Reports a missing required [syntax](https://developer.mozilla.org/en-US/docs/web/css/@property/syntax), [inherits](https://developer.mozilla.org/en-US/docs/web/css/@property/inherits), or [initial-value](https://developer.mozilla.org/en-US/docs/web/css/@property/initial-value) property in a declaration of a custom property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidCustomPropertyAtRuleDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidFunction", + "shortDescription": { + "text": "Invalid function" + }, + "fullDescription": { + "text": "Reports an unknown CSS function or an incorrect function parameter.", + "markdown": "Reports an unknown [CSS function](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Functions) or an incorrect function parameter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidFunction", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssMissingSemicolon", + "shortDescription": { + "text": "Missing semicolon" + }, + "fullDescription": { + "text": "Reports a missing semicolon at the end of a declaration.", + "markdown": "Reports a missing semicolon at the end of a declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssMissingSemicolon", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code style issues", + "index": 48, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssRedundantUnit", + "shortDescription": { + "text": "Redundant measure unit" + }, + "fullDescription": { + "text": "Reports a measure unit of a zero value where units are not required by the specification. Example: 'width: 0px'", + "markdown": "Reports a measure unit of a zero value where units are not required by the specification.\n\n**Example:**\n\n width: 0px\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssRedundantUnit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code style issues", + "index": 48, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssMissingComma", + "shortDescription": { + "text": "Missing comma in selector list" + }, + "fullDescription": { + "text": "Reports a multi-line selector. Most likely this means that several single-line selectors are actually intended but a comma is missing at the end of one or several lines. Example: 'input /* comma has probably been forgotten */\n.button {\n margin: 1px;\n}'", + "markdown": "Reports a multi-line selector. Most likely this means that several single-line selectors are actually intended but a comma is missing at the end of one or several lines.\n\n**Example:**\n\n\n input /* comma has probably been forgotten */\n .button {\n margin: 1px;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssMissingComma", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 62, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidPropertyValue", + "shortDescription": { + "text": "Invalid property value" + }, + "fullDescription": { + "text": "Reports an incorrect CSS property value.", + "markdown": "Reports an incorrect CSS property value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidPropertyValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssBrowserCompatibilityForProperties", + "shortDescription": { + "text": "Property is incompatible with selected browsers" + }, + "fullDescription": { + "text": "Reports a CSS property that is not supported by the specified browsers. Based on the MDN Compatibility Data.", + "markdown": "Reports a CSS property that is not supported by the specified browsers. Based on the [MDN Compatibility Data](https://github.com/mdn/browser-compat-data)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssBrowserCompatibilityForProperties", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCustomPropertyAtRuleName", + "shortDescription": { + "text": "Invalid @property name" + }, + "fullDescription": { + "text": "Reports an invalid custom property name. Custom property name should be prefixed with two dashes. Example: '@property invalid-property-name {\n ...\n}\n\n@property --valid-property-name {\n ...\n}'", + "markdown": "Reports an invalid custom property name. Custom property name should be prefixed with two dashes.\n\n**Example:**\n\n\n @property invalid-property-name {\n ...\n }\n\n @property --valid-property-name {\n ...\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidCustomPropertyAtRuleName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssConvertColorToHexInspection", + "shortDescription": { + "text": "Color could be replaced with #-hex" + }, + "fullDescription": { + "text": "Reports an 'rgb()', 'hsl()', or other color function. Suggests replacing a color function with an equivalent hexadecimal notation. Example: 'rgb(12, 15, 255)' After the quick-fix is applied: '#0c0fff'.", + "markdown": "Reports an `rgb()`, `hsl()`, or other color function.\n\nSuggests replacing a color function with an equivalent hexadecimal notation.\n\n**Example:**\n\n rgb(12, 15, 255)\n\nAfter the quick-fix is applied:\n\n #0c0fff.\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssConvertColorToHexInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssReplaceWithShorthandUnsafely", + "shortDescription": { + "text": "Properties may probably be replaced with a shorthand" + }, + "fullDescription": { + "text": "Reports a set of longhand CSS properties and suggests replacing an incomplete set of longhand CSS properties with a shorthand form, which is however not 100% equivalent in this case. For example, 2 properties: 'outline-color' and 'outline-style' may be replaced with a single 'outline'. Such replacement is not 100% equivalent because shorthands reset all omitted sub-values to their initial states. In this example, switching to the 'outline' shorthand means that 'outline-width' is also set to its initial value, which is 'medium'. This inspection doesn't handle full sets of longhand properties (when switching to shorthand is 100% safe). For such cases see the 'Properties may be safely replaced with a shorthand' inspection instead.", + "markdown": "Reports a set of longhand CSS properties and suggests replacing an incomplete set of longhand CSS properties with a shorthand form, which is however not 100% equivalent in this case.\n\n\nFor example, 2 properties: `outline-color` and `outline-style` may be replaced with a single `outline`.\nSuch replacement is not 100% equivalent because shorthands reset all omitted sub-values to their initial states.\nIn this example, switching to the `outline` shorthand means that `outline-width` is also set to its initial value,\nwhich is `medium`.\n\n\nThis inspection doesn't handle full sets of longhand properties (when switching to shorthand is 100% safe).\nFor such cases see the 'Properties may be safely replaced with a shorthand' inspection instead." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssReplaceWithShorthandUnsafely", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownUnit", + "shortDescription": { + "text": "Unknown unit" + }, + "fullDescription": { + "text": "Reports an unknown unit.", + "markdown": "Reports an unknown unit." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnknownUnit", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidMediaFeature", + "shortDescription": { + "text": "Invalid media feature" + }, + "fullDescription": { + "text": "Reports an unknown CSS media feature or an incorrect media feature value.", + "markdown": "Reports an unknown [CSS media feature](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) or an incorrect media feature value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidMediaFeature", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssConvertColorToRgbInspection", + "shortDescription": { + "text": "Color could be replaced with rgb()" + }, + "fullDescription": { + "text": "Reports an 'hsl()' or 'hwb()' color function or a hexadecimal color notation. Suggests replacing such color value with an equivalent 'rgb()' or 'rgba()' color function. Example: '#0c0fff' After the quick-fix is applied: 'rgb(12, 15, 255)'.", + "markdown": "Reports an `hsl()` or `hwb()` color function or a hexadecimal color notation.\n\nSuggests replacing such color value with an equivalent `rgb()` or `rgba()` color function.\n\n**Example:**\n\n #0c0fff\n\nAfter the quick-fix is applied:\n\n rgb(12, 15, 255).\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssConvertColorToRgbInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnusedSymbol", + "shortDescription": { + "text": "Unused selector" + }, + "fullDescription": { + "text": "Reports a CSS class or an element IDs that appears in selectors but is not used in HTML. Note that complete inspection results are available only when running it via Code | Inspect Code or Code | Analyze Code | Run Inspection by Name. Due to performance reasons, style sheet files are not inspected on the fly.", + "markdown": "Reports a CSS class or an element IDs that appears in selectors but is not used in HTML.\n\n\nNote that complete inspection results are available only when running it via **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name**.\nDue to performance reasons, style sheet files are not inspected on the fly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssUnusedSymbol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssDeprecatedValue", + "shortDescription": { + "text": "Deprecated value" + }, + "fullDescription": { + "text": "Reports a deprecated CSS value. Suggests replacing the deprecated value with its valid equivalent.", + "markdown": "Reports a deprecated CSS value. Suggests replacing the deprecated value with its valid equivalent." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssDeprecatedValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNonIntegerLengthInPixels", + "shortDescription": { + "text": "Non-integer length in pixels" + }, + "fullDescription": { + "text": "Reports a non-integer length in pixels. Example: 'width: 3.14px'", + "markdown": "Reports a non-integer length in pixels.\n\n**Example:**\n\n width: 3.14px\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssNonIntegerLengthInPixels", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 62, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidImport", + "shortDescription": { + "text": "Misplaced @import" + }, + "fullDescription": { + "text": "Reports a misplaced '@import' statement. According to the specification, '@import' rules must precede all other types of rules, except '@charset' rules.", + "markdown": "Reports a misplaced `@import` statement.\n\n\nAccording to the [specification](https://developer.mozilla.org/en-US/docs/Web/CSS/@import),\n`@import` rules must precede all other types of rules, except `@charset` rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidAtRule", + "shortDescription": { + "text": "Unknown at-rule" + }, + "fullDescription": { + "text": "Reports an unknown CSS at-rule.", + "markdown": "Reports an unknown [CSS at-rule](https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidAtRule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnresolvedCustomProperty", + "shortDescription": { + "text": "Unresolved custom property" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a custom property among the arguments of the 'var()' function.", + "markdown": "Reports an unresolved reference to a [custom property](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) among the arguments of the `var()` function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnresolvedCustomProperty", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssOverwrittenProperties", + "shortDescription": { + "text": "Overwritten property" + }, + "fullDescription": { + "text": "Reports a duplicated CSS property within a ruleset. Respects shorthand properties. Example: '.foo {\n margin-bottom: 1px;\n margin-bottom: 1px; /* duplicates margin-bottom */\n margin: 0; /* overrides margin-bottom */\n}'", + "markdown": "Reports a duplicated CSS property within a ruleset. Respects shorthand properties.\n\n**Example:**\n\n\n .foo {\n margin-bottom: 1px;\n margin-bottom: 1px; /* duplicates margin-bottom */\n margin: 0; /* overrides margin-bottom */\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssOverwrittenProperties", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownTarget", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference, for example, an incorrect path in an '@import' statement.", + "markdown": "Reports an unresolved file reference, for example, an incorrect path in an `@import` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnknownTarget", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNegativeValue", + "shortDescription": { + "text": "Negative property value" + }, + "fullDescription": { + "text": "Reports a negative value of a CSS property that is not expected to be less than zero, for example, object width or height.", + "markdown": "Reports a negative value of a CSS property that is not expected to be less than zero, for example, object width or height." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssNegativeValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNoGenericFontName", + "shortDescription": { + "text": "Missing generic font family name" + }, + "fullDescription": { + "text": "Verifies that the 'font-family' property contains a generic font family name as a fallback alternative. Generic font family names are: 'serif', 'sans-serif', 'cursive', 'fantasy', and 'monospace'.", + "markdown": "Verifies that the [font-family](https://developer.mozilla.org/en-US/docs/Web/CSS/font-family) property contains a generic font family name as a fallback alternative.\n\n\nGeneric font family names are: `serif`, `sans-serif`, `cursive`, `fantasy`,\nand `monospace`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssNoGenericFontName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 62, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnresolvedClassInComposesRule", + "shortDescription": { + "text": "Unresolved class in 'composes' rule" + }, + "fullDescription": { + "text": "Reports a CSS class reference in the 'composes' rule that cannot be resolved to any valid target. Example: '.className {/* ... */}\n\n .otherClassName {\n composes: className;\n }'", + "markdown": "Reports a CSS class reference in the ['composes'](https://github.com/css-modules/css-modules#composition) rule that cannot be resolved to any valid target.\n\n**Example:**\n\n\n .className {/* ... */}\n\n .otherClassName {\n composes: className;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnresolvedClassInComposesRule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCharsetRule", + "shortDescription": { + "text": "Misplaced or incorrect @charset" + }, + "fullDescription": { + "text": "Reports a misplaced '@charset' at-rule or an incorrect charset value.", + "markdown": "Reports a misplaced `@charset` at-rule or an incorrect charset value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidCharsetRule", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssReplaceWithShorthandSafely", + "shortDescription": { + "text": "Properties may be safely replaced with a shorthand" + }, + "fullDescription": { + "text": "Reports a set of longhand properties. Suggests replacing a complete set of longhand CSS properties with an equivalent shorthand form. For example, 4 properties: 'padding-top', 'padding-right', 'padding-bottom', and 'padding-left' can be safely replaced with a single 'padding' property. Note that this inspection doesn't show up if the set of longhand properties is incomplete (e.g. only 3 'padding-xxx' properties in a ruleset) because switching to a shorthand may change the result. For such cases consider the 'Properties may probably be replaced with a shorthand' inspection.", + "markdown": "Reports a set of longhand properties. Suggests replacing a complete set of longhand CSS properties with an equivalent shorthand form.\n\n\nFor example, 4 properties: `padding-top`, `padding-right`, `padding-bottom`, and\n`padding-left`\ncan be safely replaced with a single `padding` property.\n\n\nNote that this inspection doesn't show up if the set of longhand properties is incomplete\n(e.g. only 3 `padding-xxx` properties in a ruleset)\nbecause switching to a shorthand may change the result.\nFor such cases consider the 'Properties may probably be replaced with a shorthand'\ninspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssReplaceWithShorthandSafely", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 38, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownProperty", + "shortDescription": { + "text": "Unknown property" + }, + "fullDescription": { + "text": "Reports an unknown CSS property or a property used in a wrong context. Add the unknown property to the 'Custom CSS properties' list to skip validation.", + "markdown": "Reports an unknown CSS property or a property used in a wrong context.\n\nAdd the unknown property to the 'Custom CSS properties' list to skip validation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssUnknownProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidPseudoSelector", + "shortDescription": { + "text": "Invalid pseudo-selector" + }, + "fullDescription": { + "text": "Reports an incorrect CSS pseudo-class pseudo-element.", + "markdown": "Reports an incorrect CSS [pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes) [pseudo-element](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidPseudoSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidNestedSelector", + "shortDescription": { + "text": "Invalid nested selector" + }, + "fullDescription": { + "text": "Reports a nested selector starting with an identifier or a functional notation.", + "markdown": "Reports a nested selector starting with an identifier or a functional notation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidNestedSelector", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 39, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.clion.radler", + "version": "251.21381", + "rules": [ + { + "id": "RadGlobal", + "shortDescription": { + "text": "Compiler errors" + }, + "fullDescription": { + "text": "Show compiler errors from ReSharper backend", + "markdown": "Show compiler errors from ReSharper backend" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RadGlobal", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "C_C++/Compiler Issues", + "index": 5, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.yaml", + "version": "251.21381", + "rules": [ + { + "id": "YAMLSchemaValidation", + "shortDescription": { + "text": "Validation by JSON Schema" + }, + "fullDescription": { + "text": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified. Scheme example: '{\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeNumberProperty: hello world'", + "markdown": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified.\n\n**Scheme example:**\n\n\n {\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeNumberProperty: hello world\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLSchemaValidation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLIncompatibleTypes", + "shortDescription": { + "text": "Suspicious type mismatch" + }, + "fullDescription": { + "text": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions. Example: 'myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings'", + "markdown": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions.\n\n**Example:**\n\n\n myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLIncompatibleTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLUnresolvedAlias", + "shortDescription": { + "text": "Unresolved alias" + }, + "fullDescription": { + "text": "Reports unresolved aliases in YAML files. Example: 'some_key: *unknown_alias'", + "markdown": "Reports unresolved aliases in YAML files.\n\n**Example:**\n\n\n some_key: *unknown_alias\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLUnresolvedAlias", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLSchemaDeprecation", + "shortDescription": { + "text": "Deprecated YAML key" + }, + "fullDescription": { + "text": "Reports deprecated keys in YAML files. Deprecation is checked only if there exists a JSON schema associated with the corresponding YAML file. Note that the deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard 'deprecationMessage' extension. Scheme deprecation example: '{\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeDeprecatedProperty: some value'", + "markdown": "Reports deprecated keys in YAML files.\n\nDeprecation is checked only if there exists a JSON schema associated with the corresponding YAML file.\n\nNote that the deprecation mechanism is not defined in the JSON Schema specification yet,\nand this inspection uses a non-standard `deprecationMessage` extension.\n\n**Scheme deprecation example:**\n\n\n {\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeDeprecatedProperty: some value\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "YAMLSchemaDeprecation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLRecursiveAlias", + "shortDescription": { + "text": "Recursive alias" + }, + "fullDescription": { + "text": "Reports recursion in YAML aliases. Alias can't be recursive and be used inside the data referenced by a corresponding anchor. Example: 'some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor'", + "markdown": "Reports recursion in YAML aliases.\n\nAlias can't be recursive and be used inside the data referenced by a corresponding anchor.\n\n**Example:**\n\n\n some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLRecursiveAlias", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLDuplicatedKeys", + "shortDescription": { + "text": "Duplicated YAML keys" + }, + "fullDescription": { + "text": "Reports duplicated keys in YAML files. Example: 'same_key: some value\n same_key: another value'", + "markdown": "Reports duplicated keys in YAML files.\n\n**Example:**\n\n\n same_key: some value\n same_key: another value\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLDuplicatedKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLUnusedAnchor", + "shortDescription": { + "text": "Unused anchor" + }, + "fullDescription": { + "text": "Reports unused anchors. Example: 'some_key: &some_anchor\n key1: value1'", + "markdown": "Reports unused anchors.\n\n**Example:**\n\n\n some_key: &some_anchor\n key1: value1\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLUnusedAnchor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 44, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.less", + "version": "251.21381", + "rules": [ + { + "id": "LessUnresolvedMixin", + "shortDescription": { + "text": "Unresolved mixin" + }, + "fullDescription": { + "text": "Reports a reference to a Less mixin that is not resolved. Example: '* {\n .unknown-mixin();\n}'", + "markdown": "Reports a reference to a [Less mixin](http://lesscss.org/features/#mixins-feature) that is not resolved.\n\n**Example:**\n\n\n * {\n .unknown-mixin();\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LessUnresolvedMixin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 50, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LessUnresolvedVariable", + "shortDescription": { + "text": "Unresolved variable" + }, + "fullDescription": { + "text": "Reports a reference to a Less variable that is not resolved. Example: '* {\n margin: @unknown-var;\n}'", + "markdown": "Reports a reference to a [Less variable](http://lesscss.org/features/#variables-feature) that is not resolved.\n\n**Example:**\n\n\n * {\n margin: @unknown-var;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LessUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 50, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LessResolvedByNameOnly", + "shortDescription": { + "text": "Missing import" + }, + "fullDescription": { + "text": "Reports a reference to a variable or mixin that is declared in another file, which is not explicitly imported in the current file. Example: '* {\n margin: @var-in-other-file;\n}'", + "markdown": "Reports a reference to a variable or mixin that is declared in another file, which is not explicitly [imported](http://lesscss.org/features/#import-atrules-feature) in the current file.\n\n**Example:**\n\n\n * {\n margin: @var-in-other-file;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "LessResolvedByNameOnly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 50, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.intelliLang", + "version": "251.21381", + "rules": [ + { + "id": "InjectedReferences", + "shortDescription": { + "text": "Injected references" + }, + "fullDescription": { + "text": "Reports unresolved references injected by Language Injections. Example: '@Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist'", + "markdown": "Reports unresolved references injected by [Language Injections](https://www.jetbrains.com/help/idea/using-language-injections.html).\n\nExample:\n\n\n @Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "InjectedReferences", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 31, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.vue", + "version": "251.21381", + "rules": [ + { + "id": "VueDataFunction", + "shortDescription": { + "text": "Data function" + }, + "fullDescription": { + "text": "Reports a Vue component data property that is not a function. Suggests wrapping an object literal with a function. When defining a component, 'data' must be declared as a function that returns the initial data object, because the same definition will be used for creating numerous instances. If a plain object is still used for 'data', that very object will be shared by reference across all instances created! With a 'data' function, every time a new instance is created we can simply call it to return a fresh copy of the initial data.", + "markdown": "Reports a Vue component [data](https://vuejs.org/v2/api/#data) property that is not a function. Suggests wrapping an object literal with a function.\n\nWhen defining a component, `data` must be declared as a function that returns the initial data object, because the same definition will be used for creating numerous instances. If a plain object is still used for `data`, that very object will be shared by reference across all instances created! With a `data` function, every time a new instance is created we can simply call it to return a fresh copy of the initial data." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDataFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 53, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueUnrecognizedSlot", + "shortDescription": { + "text": "Unrecognized slot" + }, + "fullDescription": { + "text": "Reports an unrecognized Vue slot.", + "markdown": "Reports an unrecognized Vue slot." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "VueUnrecognizedSlot", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 53, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueMissingComponentImportInspection", + "shortDescription": { + "text": "Missing component import" + }, + "fullDescription": { + "text": "Reports Vue components, which require to be imported in Vue templates. It provides a quick fix to add the missing import.", + "markdown": "Reports Vue components, which require to be imported in Vue templates. It provides a quick fix to add the missing import." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueMissingComponentImportInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 53, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueUnrecognizedDirective", + "shortDescription": { + "text": "Unrecognized directive" + }, + "fullDescription": { + "text": "Reports an unrecognized Vue directive.", + "markdown": "Reports an unrecognized Vue directive." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueUnrecognizedDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 53, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDuplicateTag", + "shortDescription": { + "text": "Duplicate template/script tag" + }, + "fullDescription": { + "text": "Reports multiple usages of the 'template' or 'script' tag in a Vue file. Vue Component specification indicates that each '*.vue' file can contain at most one 'template' or 'script' block at a time.", + "markdown": "Reports multiple usages of the `template` or `script` tag in a Vue file.\n\n[Vue Component specification](https://vue-loader.vuejs.org/spec.html) indicates that each `*.vue` file can contain at most one `template` or `script` block at a time." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDuplicateTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 53, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDeprecatedSymbol", + "shortDescription": { + "text": "Deprecated symbol" + }, + "fullDescription": { + "text": "Reports a deprecated Vue symbol.", + "markdown": "Reports a deprecated Vue symbol." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDeprecatedSymbol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 53, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.plugins.ini4idea", + "version": "251.21381", + "rules": [ + { + "id": "DuplicateKeyInSection", + "shortDescription": { + "text": "Duplicate directive in section" + }, + "fullDescription": { + "text": "Reports duplicate properties in the 'ini' file section.", + "markdown": "Reports duplicate properties in the `ini` file section." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateKeyInSection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Ini files", + "index": 55, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateSectionInFile", + "shortDescription": { + "text": "Duplicate section in file" + }, + "fullDescription": { + "text": "Reports duplicate sections in the 'ini' file.", + "markdown": "Reports duplicate sections in the `ini` file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateSectionInFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "Ini files", + "index": 55, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.qodana", + "version": "251.21381", + "rules": [ + { + "id": "JsCoverageInspection", + "shortDescription": { + "text": "Check JavaScript and TypeScript source code coverage" + }, + "fullDescription": { + "text": "Reports methods, classes and files whose coverage is below a certain threshold.", + "markdown": "Reports methods, classes and files whose coverage is below a certain threshold." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsCoverageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Code Coverage", + "index": 68, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CyclomaticComplexityInspection", + "shortDescription": { + "text": "Code metrics" + }, + "fullDescription": { + "text": "Calculates cyclomatic complexity.", + "markdown": "Calculates cyclomatic complexity." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CyclomaticComplexityInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Qodana", + "index": 73, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.gitlab", + "version": "IU-251.21381", + "rules": [ + { + "id": "DuplicatedJobUsage", + "shortDescription": { + "text": "Duplicated job usage" + }, + "fullDescription": { + "text": "Detects duplicated job usages in GitLab CI/CD Configuration file. For more information on job references, see the GitLab documentation.", + "markdown": "Detects duplicated job usages in GitLab CI/CD Configuration file.\n\n\nFor more information on job references, see the [GitLab documentation](https://docs.gitlab.com/ee/ci/jobs/index.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DuplicatedJobUsage", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Gitlab CI inspections", + "index": 71, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UndefinedStage", + "shortDescription": { + "text": "Undefined stage" + }, + "fullDescription": { + "text": "Detects unresolved stage references in GitLab CI/CD Configuration file. For more information on stage references, see the GitLab documentation.", + "markdown": "Detects unresolved stage references in GitLab CI/CD Configuration file.\n\n\nFor more information on stage references, see the [GitLab documentation](https://docs.gitlab.com/ee/ci/yaml/index.html#stages)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "UndefinedStage", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Gitlab CI inspections", + "index": 71, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UndefinedJob", + "shortDescription": { + "text": "Undefined job" + }, + "fullDescription": { + "text": "Detects unresolved job references in GitLab CI/CD Configuration file. For more information on job references, see the GitLab documentation.", + "markdown": "Detects unresolved job references in GitLab CI/CD Configuration file.\n\n\nFor more information on job references, see the [GitLab documentation](https://docs.gitlab.com/ee/ci/jobs/index.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "UndefinedJob", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Unspecified" + } + }, + "relationships": [ + { + "target": { + "id": "Gitlab CI inspections", + "index": 71, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.stylelint", + "version": "251.21381", + "rules": [ + { + "id": "Stylelint", + "shortDescription": { + "text": "Stylelint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the Stylelint linter. The highlighting is based on the rule severity specified in the Stylelint configuration file for each individual rule.", + "markdown": "Reports a discrepancy detected by the [Stylelint](http://stylelint.io) linter. \n\nThe highlighting is based on the rule severity specified in the [Stylelint configuration file](https://stylelint.io/user-guide/configure) for each individual rule." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Stylelint", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code quality tools", + "index": 74, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "intellij.webpack", + "version": "251.21381", + "rules": [ + { + "id": "WebpackConfigHighlighting", + "shortDescription": { + "text": "Webpack config compliance with JSON Schema" + }, + "fullDescription": { + "text": "Validates options in webpack config files (which name should start with `webpack`, e.g. `webpack.config.js`) against webpack options schema. Disable this inspection to turn off validation and code completion inside the configuration object.", + "markdown": "Validates options in webpack config files (which name should start with \\`webpack\\`, e.g. \\`webpack.config.js\\`) against [webpack options schema](https://github.com/webpack/webpack/blob/master/schemas/WebpackOptions.json). \n\nDisable this inspection to turn off validation and code completion inside the configuration object." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "WebpackConfigHighlighting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "tslint", + "version": "251.21381", + "rules": [ + { + "id": "TsLint", + "shortDescription": { + "text": "TSLint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the TSLint linter. The highlighting is based on the rule severity specified in the TSLint configuration file for each individual rule. Clear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all TSLint rules.", + "markdown": "Reports a discrepancy detected by the [TSLint](https://github.com/palantir/tslint) linter. \n\nThe highlighting is based on the rule severity specified in the [TSLint configuration file](https://palantir.github.io/tslint/usage/configuration/) for each individual rule. \n\nClear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all TSLint rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TsLint", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 67, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.jsonpath", + "version": "251.21381", + "rules": [ + { + "id": "JsonPathEvaluateUnknownKey", + "shortDescription": { + "text": "Unknown property key used for JSONPath evaluate expression" + }, + "fullDescription": { + "text": "Reports a key in a JSONPath expression that is missing in the source JSON document to evaluate.", + "markdown": "Reports a key in a JSONPath expression that is missing in the source JSON document to evaluate." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonPathEvaluateUnknownKey", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Reliability" + } + }, + "relationships": [ + { + "target": { + "id": "JSONPath", + "index": 76, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonPathUnknownFunction", + "shortDescription": { + "text": "Unknown JSONPath function" + }, + "fullDescription": { + "text": "Reports an unknown name in a JSONPath function call instead of known standard function names: 'concat', 'keys', 'length', 'min', 'max', 'avg', 'stddev', 'sum'.", + "markdown": "Reports an unknown name in a JSONPath function call instead of known standard function names: `concat`, `keys`, `length`, `min`, `max`, `avg`, `stddev`, `sum`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonPathUnknownFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JSONPath", + "index": 76, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonPathUnknownOperator", + "shortDescription": { + "text": "Unknown JSONPath operator" + }, + "fullDescription": { + "text": "Reports an unknown operator on a JSONPath expression instead of one of the standard ones: 'in', 'nin', 'subsetof', 'anyof', 'noneof', 'size', 'empty', 'contains'.", + "markdown": "Reports an unknown operator on a JSONPath expression instead of one of the standard ones: `in`, `nin`, `subsetof`, `anyof`, `noneof`, `size`, `empty`, `contains`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonPathUnknownOperator", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Code Style" + } + }, + "relationships": [ + { + "target": { + "id": "JSONPath", + "index": 76, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.toml.lang", + "version": "251.21381", + "rules": [ + { + "id": "TomlUnresolvedReference", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Reports unresolved references in TOML files.", + "markdown": "Reports unresolved references in TOML files." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "TomlUnresolvedReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "codeQualityCategory": "Sanity" + } + }, + "relationships": [ + { + "target": { + "id": "TOML", + "index": 80, + "toolComponent": { + "name": "QDCPP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + } + ] + }, + "invocations": [ + { + "startTimeUtc": "2025-02-11T11:30:52.260090382Z", + "exitCode": 0, + "executionSuccessful": true + } + ], + "language": "en-US", + "versionControlProvenance": [ + { + "repositoryUri": "https://github.com/qodana/QD-10738-fmt", + "revisionId": "12600bb1791f2e1709c7f0e28740125c9b7d9ab6", + "branch": "main", + "properties": { + "repoUrl": "https://github.com/qodana/QD-10738-fmt", + "lastAuthorName": "Anna Zhukova", + "vcsType": "Git", + "lastAuthorEmail": "anna.zhukova@jetbrains.com" + } + } + ], + "results": [ + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructor does not initialize these fields: data", + "markdown": "Constructor does not initialize these fields: data" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 424, + "startColumn": 7, + "charOffset": 12651, + "charLength": 11, + "snippet": { + "text": "test_buffer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 422, + "startColumn": 1, + "charOffset": 12565, + "charLength": 221, + "snippet": { + "text": " struct test_buffer final : fmt::detail::buffer {\n char data[10];\n test_buffer()\n : fmt::detail::buffer([](buffer&, size_t) {}, data, 0,\n 10) {}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b88b4f4132f8fc6", + "equalIndicator/v1": "01dce05a7b761338c0e0133201c59f4fccb632df0060dd322c554243373ce81e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Static member accessed through instance", + "markdown": "Static member accessed through instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 391, + "startColumn": 21, + "charOffset": 13032, + "charLength": 4, + "snippet": { + "text": "pipe" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 389, + "startColumn": 1, + "charOffset": 12939, + "charLength": 242, + "snippet": { + "text": " auto pipe = fmt::pipe();\n int write_fd = pipe.write_end.descriptor();\n file write_copy = pipe.write_end.dup(write_fd);\n buffered_file f = pipe.write_end.fdopen(\"w\");\n std::unique_ptr redir(new output_redirect(f.get()));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae49d18e42cbfbec", + "equalIndicator/v1": "0275b90b164aae7c206f7e3023004d5b1a19bfbf94edb9458202adc9613b9e46" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator const int *' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator const int \\*' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 606, + "startColumn": 3, + "charOffset": 18418, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 604, + "startColumn": 1, + "charOffset": 18371, + "charLength": 98, + "snippet": { + "text": "\nstruct convertible_to_pointer_formattable {\n operator const int*() const { return nullptr; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "905f20b36de9567e", + "equalIndicator/v1": "041f61dbdc5da503536e69338097cba9d2cd44db8d8355a8418b39e221b47dec" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Declaration uses identifier '_', which is reserved in the global namespace; cannot be fixed automatically", + "markdown": "Declaration uses identifier '_', which is reserved in the global namespace; cannot be fixed automatically" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 16, + "charOffset": 665, + "charLength": 1, + "snippet": { + "text": "_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 622, + "charLength": 91, + "snippet": { + "text": "using fmt::detail::buffer;\n\nusing testing::_;\nusing testing::Invoke;\nusing testing::Return;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b41d6f2009d5226f", + "equalIndicator/v1": "045cf34df38ab02a4b4a6d8e1a1cdd2b052a372df483c190e37e81b476316848" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructor does not initialize these fields: fd_", + "markdown": "Constructor does not initialize these fields: fd_" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/os.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 213, + "startColumn": 1, + "charOffset": 5512, + "charLength": 10, + "snippet": { + "text": "file::file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 211, + "startColumn": 1, + "charOffset": 5448, + "charLength": 165, + "snippet": { + "text": " S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;\n\nfile::file(cstring_view path, int oflag) {\n# if defined(_WIN32) && !defined(__MINGW32__)\n fd_ = -1;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9e4813fcc0e576bc", + "equalIndicator/v1": "0467728137783de7be47267d30e0f3747bb3308bac7610ab5262f98ca5c00f24" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'ctype.h'; consider using 'cctype' instead", + "markdown": "Inclusion of deprecated C++ header 'ctype.h'; consider using 'cctype' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12703, + "startColumn": 11, + "charOffset": 467572, + "charLength": 7, + "snippet": { + "text": "ctype.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12701, + "startColumn": 1, + "charOffset": 467560, + "charLength": 68, + "snippet": { + "text": "\n\n#include \n#include // NOLINT\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "feced8537b5a6f31", + "equalIndicator/v1": "0494acd1226652afee74a9bd968b7777cd939fbacab6e00d44c9e998a789bc82" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The parameter #1 is copied for each invocation but only used as a const reference; consider making it a const reference", + "markdown": "The parameter #1 is copied for each invocation but only used as a const reference; consider making it a const reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 162, + "startColumn": 29, + "charOffset": 4447, + "charLength": 1, + "snippet": { + "text": "," + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 160, + "startColumn": 1, + "charOffset": 4391, + "charLength": 137, + "snippet": { + "text": " return ctx.begin();\n }\n auto format(copy_throwable, format_context& ctx) const\n -> decltype(ctx.out()) {\n return ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0aca08e6de901958", + "equalIndicator/v1": "054132ccee52101586c6e163a9726ea45ae1d8a282b57410849c17b56d5391d9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2803, + "startColumn": 5, + "charOffset": 106378, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2801, + "startColumn": 1, + "charOffset": 106313, + "charLength": 171, + "snippet": { + "text": " left_ids.push_back(intern_table.GetId(left[i]));\n }\n for (size_t i = 0; i < right.size(); ++i) {\n right_ids.push_back(intern_table.GetId(right[i]));\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c1fd7dfef70f1cd1", + "equalIndicator/v1": "057aa4c38fb969f7adfdd740f6a13052430a69fb3493b0793643bdb9cab606e8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructor does not initialize these fields: old_reporter_", + "markdown": "Constructor does not initialize these fields: old_reporter_" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2281, + "startColumn": 1, + "charOffset": 87752, + "charLength": 66, + "snippet": { + "text": "ScopedFakeTestPartResultReporter::ScopedFakeTestPartResultReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2279, + "startColumn": 1, + "charOffset": 87620, + "charLength": 286, + "snippet": { + "text": "// Google Test. The 'result' parameter specifies where to report the\n// results. Intercepts only failures from the current thread.\nScopedFakeTestPartResultReporter::ScopedFakeTestPartResultReporter(\n TestPartResultArray* result)\n : intercept_mode_(INTERCEPT_ONLY_CURRENT_THREAD)," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fec7792d289f2854", + "equalIndicator/v1": "06087287d7ee3514b72194e7044ca2380ab6cf29f5517900c1b12041364bf64f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead", + "markdown": "Inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/posix-mock-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 15, + "startColumn": 11, + "charOffset": 367, + "charLength": 7, + "snippet": { + "text": "errno.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13, + "startColumn": 1, + "charOffset": 332, + "charLength": 63, + "snippet": { + "text": "#include \"posix-mock.h\"\n\n#include \n#include \n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "49d78f37330df5a7", + "equalIndicator/v1": "06fb504d34baa2a60d8aa166d63275149c09228c0661ae54c0f72e9205243c34" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Static member accessed through instance", + "markdown": "Static member accessed through instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 377, + "startColumn": 21, + "charOffset": 12489, + "charLength": 4, + "snippet": { + "text": "pipe" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 375, + "startColumn": 1, + "charOffset": 12396, + "charLength": 204, + "snippet": { + "text": " auto pipe = fmt::pipe();\n int write_fd = pipe.write_end.descriptor();\n file write_copy = pipe.write_end.dup(write_fd);\n buffered_file f = pipe.write_end.fdopen(\"w\");\n output_redirect redir(f.get());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ab11db15b5748929", + "equalIndicator/v1": "073606ea33cb46dd62473ede8220910cb784ca228422706e0fcad201ddab3a67" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2222, + "startColumn": 58, + "charOffset": 85591, + "charLength": 9, + "snippet": { + "text": "test_name" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2220, + "startColumn": 1, + "charOffset": 85386, + "charLength": 292, + "snippet": { + "text": "bool UnitTestOptions::FilterMatchesTest(const std::string& test_suite_name,\n const std::string& test_name) {\n const std::string& full_name = test_suite_name + \".\" + test_name.c_str();\n\n // Split --gtest_filter at '-', if there is one, to separate into" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fd9d09c3da73b25c", + "equalIndicator/v1": "085097978edd498535f89928037a57eec5d9571723482d16e02cf9c74cb48852" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 538, + "startColumn": 3, + "charOffset": 16600, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 536, + "startColumn": 1, + "charOffset": 16515, + "charLength": 210, + "snippet": { + "text": " static_assert(parse_string(\"foo\"), \"\");\n static_assert(!parse_string(\"}\"), \"\");\n static_assert(parse_string(\"{}\"), \"\");\n static_assert(parse_string(\"{42}\"), \"\");\n static_assert(parse_string(\"{foo}\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6153da34265875f5", + "equalIndicator/v1": "08d0144725c16b70bf16e0f58efa36bbe94eb33e8810eda069dfc864ac811c94" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 594, + "startColumn": 8, + "charOffset": 18136, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 592, + "startColumn": 1, + "charOffset": 18124, + "charLength": 135, + "snippet": { + "text": " }\n\n auto format(nonconst_formattable&, format_context& ctx) const\n -> decltype(ctx.out()) {\n return copy(\"test\", ctx.out());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b07c4de2b8bfdfab", + "equalIndicator/v1": "096cfb06ece0c35b8d41c14715a492238249f0369e56eb3c481f54906ce4a767" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12400, + "startColumn": 1, + "charOffset": 456533, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12398, + "startColumn": 1, + "charOffset": 456531, + "charLength": 43, + "snippet": { + "text": "\n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c5e23eab880b8f35", + "equalIndicator/v1": "09b164d2d9cd3fe0b080b1cdb34666c291469864d59a7d9b7fb05c6706711cb0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1690, + "startColumn": 3, + "charOffset": 71498, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1688, + "startColumn": 1, + "charOffset": 71419, + "charLength": 232, + "snippet": { + "text": "\nTEST(format_test, format_implicitly_convertible_and_inherits_string_view) {\n static_assert(fmt::is_formattable{}, \"\");\n EXPECT_EQ(\"Hi there\", fmt::format(\"{}\", convertible_to_std_string_view{}));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23510ed452324457", + "equalIndicator/v1": "09eac01b1d0592f7570755302e4201a392e070521b406598eb91ff61ea57fa9b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8032, + "startColumn": 3, + "charOffset": 301436, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8030, + "startColumn": 1, + "charOffset": 301361, + "charLength": 160, + "snippet": { + "text": " std::vector lines;\n SplitString(contents, '\\n', &lines);\n for (size_t i = 0; i < lines.size(); ++i) {\n if (lines[i].empty())\n continue;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "159b1b80c7f31791", + "equalIndicator/v1": "0b2b0181bf53ee24b32ccd536d756f9ee63d06e61297ad3b27024592ae503017" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Repeated branch body in conditional chain", + "markdown": "Repeated branch body in conditional chain" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12197, + "startColumn": 22, + "charOffset": 448946, + "charLength": 1, + "snippet": { + "text": "{" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12195, + "startColumn": 1, + "charOffset": 448863, + "charLength": 217, + "snippet": { + "text": " continue; // single-byte character (ASCII) 0..7F\n }\n if (lead < 0xc2) {\n return false; // trail byte or non-shortest form\n } else if (lead <= 0xdf && (i + 1) <= length && IsUTF8TrailByte(s[i])) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "566e682872f4263e", + "equalIndicator/v1": "0b3ebe0d0332eac3875c14943e16a90c89211f7b753982be6fb2a4a963387e93" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Uninitialized record type: 'saved_sigprof_action'", + "markdown": "Uninitialized record type: 'saved_sigprof_action'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9575, + "startColumn": 3, + "charOffset": 358522, + "charLength": 6, + "snippet": { + "text": "struct" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9573, + "startColumn": 1, + "charOffset": 358387, + "charLength": 283, + "snippet": { + "text": " // the process may hang. To avoid this, we ignore SIGPROF here and re-enable\n // it after the call to fork()/clone() is complete.\n struct sigaction saved_sigprof_action;\n struct sigaction ignore_sigprof_action;\n memset(&ignore_sigprof_action, 0, sizeof(ignore_sigprof_action));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "67ff6a940e311bee", + "equalIndicator/v1": "0c07485174d38d9050a255f37e358f7fff842a5cfa073c94e4b985a62dafa1a3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 309, + "startColumn": 16, + "charOffset": 11384, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 307, + "startColumn": 1, + "charOffset": 11359, + "charLength": 107, + "snippet": { + "text": "\n public:\n my_exception(const std::string& s) : msg(s) {}\n const char* what() const noexcept override;\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "19a5039ec4bd6ae5", + "equalIndicator/v1": "0da3c8c6e44f42e2520c424db6f38386366cc8e94be2da36726dcc3e8bda2633" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'wchar.h'; consider using 'cwchar' instead", + "markdown": "Inclusion of deprecated C++ header 'wchar.h'; consider using 'cwchar' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 316, + "startColumn": 11, + "charOffset": 13721, + "charLength": 7, + "snippet": { + "text": "wchar.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 314, + "startColumn": 1, + "charOffset": 13673, + "charLength": 77, + "snippet": { + "text": "#include \n#include \n#include \n#include \n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb981f4b8b1c3d60", + "equalIndicator/v1": "0e27e872841fcb1a3d588af71de189d8212c3744282e09ab7b94d3859dd01a02" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead", + "markdown": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9914, + "startColumn": 12, + "charOffset": 371567, + "charLength": 8, + "snippet": { + "text": "limits.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9912, + "startColumn": 1, + "charOffset": 371533, + "charLength": 149, + "snippet": { + "text": "# include \n#else\n# include \n# include // Some Linux distributions define PATH_MAX here.\n#endif // GTEST_OS_WINDOWS_MOBILE" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3c32330886eb7761", + "equalIndicator/v1": "0e7611898d6cf3733ccbfbe113ce330ca4ea0bdfbfff18f5aca21e66d4c36665" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object", + "markdown": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12744, + "startColumn": 30, + "charOffset": 468880, + "charLength": 6, + "snippet": { + "text": "result" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12742, + "startColumn": 1, + "charOffset": 468827, + "charLength": 118, + "snippet": { + "text": "\n if (IsAlNum(*p)) {\n if (starts_new_word && result != \"\")\n result += ' ';\n result += ToLower(*p);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d593cd2dd23e5bdb", + "equalIndicator/v1": "0f0f07107720743a75f015318cbb5e85f90dc237d9bb0a61fd17b03553d3a24c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead", + "markdown": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10368, + "startColumn": 11, + "charOffset": 388996, + "charLength": 8, + "snippet": { + "text": "stdlib.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10366, + "startColumn": 1, + "charOffset": 388947, + "charLength": 97, + "snippet": { + "text": "#include \n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c5425144f30ed0c0", + "equalIndicator/v1": "0f476f31205cec4096d25779a6de34cc3828008c66084659eb1702c2495fe25a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'begin' should be marked [[nodiscard]]", + "markdown": "Function 'begin' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 146, + "startColumn": 3, + "charOffset": 4715, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 144, + "startColumn": 1, + "charOffset": 4667, + "charLength": 164, + "snippet": { + "text": " auto end() -> iterator { return c.end(); }\n\n auto begin() const -> const_iterator { return c.begin(); }\n auto end() const -> const_iterator { return c.end(); }\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cf5e208feed21222", + "equalIndicator/v1": "0f9bed2dd4294d1324f0d279f3f28e5976596240f2363b16aab0273ecf14eb46" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 500, + "startColumn": 3, + "charOffset": 15296, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 498, + "startColumn": 1, + "charOffset": 15173, + "charLength": 308, + "snippet": { + "text": " static_assert(parse_test_specs(\" \").sign() == fmt::sign::space, \"\");\n static_assert(parse_test_specs(\"#\").alt(), \"\");\n static_assert(parse_test_specs(\"0\").align() == fmt::align::numeric, \"\");\n static_assert(parse_test_specs(\"L\").localized(), \"\");\n static_assert(parse_test_specs(\"42\").width == 42, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "712cb90feb7fb883", + "equalIndicator/v1": "1006000ff47531326bb7d04663276600d16be8737661f7676dbf2392859ea4b6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1474, + "startColumn": 18, + "charOffset": 57997, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1472, + "startColumn": 1, + "charOffset": 57916, + "charLength": 213, + "snippet": { + "text": " class SocketWriter : public AbstractSocketWriter {\n public:\n SocketWriter(const std::string& host, const std::string& port)\n : sockfd_(-1), host_name_(host), port_num_(port) {\n MakeConnection();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23882cac834fc847", + "equalIndicator/v1": "101d2fe706256c75d1ab164f758349217573893f88ea2ed0bc73366c74038f33" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3696, + "startColumn": 13, + "charOffset": 138475, + "charLength": 11, + "snippet": { + "text": "~TestResult" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3694, + "startColumn": 1, + "charOffset": 138452, + "charLength": 41, + "snippet": { + "text": "\n// D'tor.\nTestResult::~TestResult() {\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e4ec2120014a55c", + "equalIndicator/v1": "11ace44c4c2146cb1853e459be8ded3fa6806e097d6f1f281b114abe822922da" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12707, + "startColumn": 1, + "charOffset": 467630, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12705, + "startColumn": 1, + "charOffset": 467611, + "charLength": 60, + "snippet": { + "text": "#include \n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0ce22642aafbbfdb", + "equalIndicator/v1": "1284f5baf16fcdf01e1eaa62f9bc397cb0b3bf4f47480ca3cb78919edb79fe77" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13833, + "startColumn": 10, + "charOffset": 509544, + "charLength": 11, + "snippet": { + "text": "Expectation" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13831, + "startColumn": 1, + "charOffset": 509469, + "charLength": 181, + "snippet": { + "text": "\n Assert(false, __FILE__, __LINE__, \"Cannot find expectation.\");\n return Expectation();\n // The above statement is just to make the code compile, and will\n // never be executed." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "03ce0ed93337e239", + "equalIndicator/v1": "129f7c097939b2050067bdab41ead1126ccf4b184f7081cf5c65b403b16119ed" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with new to avoid duplicating the type name", + "markdown": "Use auto when initializing with new to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4252, + "startColumn": 3, + "charOffset": 159650, + "charLength": 8, + "snippet": { + "text": "TestInfo" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4250, + "startColumn": 1, + "charOffset": 159521, + "charLength": 285, + "snippet": { + "text": " TypeId fixture_class_id, SetUpTestSuiteFunc set_up_tc,\n TearDownTestSuiteFunc tear_down_tc, TestFactoryBase* factory) {\n TestInfo* const test_info =\n new TestInfo(test_suite_name, name, type_param, value_param,\n code_location, fixture_class_id, factory);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e2cd752a93528dd", + "equalIndicator/v1": "12ed19f4484ded0c77e39ee221b73c91ae06b388cf07a7f3d6d1f80a35fe7ff8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 759, + "startColumn": 3, + "charOffset": 23802, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 757, + "startColumn": 1, + "charOffset": 23720, + "charLength": 137, + "snippet": { + "text": "#if FMT_CPLUSPLUS >= 201703L\nstruct implicitly_convertible_to_std_string_view {\n operator std::string_view() const { return \"foo\"; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "43aa157320ab19a4", + "equalIndicator/v1": "1403f7ead24e6c9342469ab9828cac0bd298584bbbd0c07aace04e100d385c54" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 162, + "startColumn": 8, + "charOffset": 4426, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 160, + "startColumn": 1, + "charOffset": 4391, + "charLength": 137, + "snippet": { + "text": " return ctx.begin();\n }\n auto format(copy_throwable, format_context& ctx) const\n -> decltype(ctx.out()) {\n return ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "56c0bcfab585a220", + "equalIndicator/v1": "14e9f4e24fa9cbc496b1a45e5cb67ab605a2e3d4b6fb31b070ec4865ef161eef" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 541, + "startColumn": 3, + "charOffset": 16728, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 539, + "startColumn": 1, + "charOffset": 16639, + "charLength": 159, + "snippet": { + "text": " static_assert(parse_string(\"{42}\"), \"\");\n static_assert(parse_string(\"{foo}\"), \"\");\n static_assert(parse_string(\"{:}\"), \"\");\n}\n#endif // FMT_USE_CONSTEXPR" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57af9e4afff5fac2", + "equalIndicator/v1": "156b2435c51b37028cbe31b8fe292c8edd6281338f3fd423785c1dc60f87c7d3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14090, + "startColumn": 3, + "charOffset": 519868, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14088, + "startColumn": 1, + "charOffset": 519771, + "charLength": 245, + "snippet": { + "text": " FunctionMockers& mockers =\n g_mock_object_registry.states()[mock_obj].function_mockers;\n for (FunctionMockers::const_iterator it = mockers.begin();\n it != mockers.end(); ++it) {\n if (!(*it)->VerifyAndClearExpectationsLocked()) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd9516705af7aad1", + "equalIndicator/v1": "156f3bc5539489d92145320fe37418178e7ac1a24f8314b66d1f88346cf45d60" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1867, + "startColumn": 3, + "charOffset": 72491, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1865, + "startColumn": 1, + "charOffset": 72406, + "charLength": 174, + "snippet": { + "text": " int (TestSuite::*method)() const) {\n int sum = 0;\n for (size_t i = 0; i < case_list.size(); i++) {\n sum += (case_list[i]->*method)();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "416531b1d8182dfb", + "equalIndicator/v1": "15bb4a5ef7c2ab9ca12729f2ab68653194fff68c3ae4c00950305cef19efd421" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 610, + "startColumn": 5, + "charOffset": 19181, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 608, + "startColumn": 1, + "charOffset": 19097, + "charLength": 304, + "snippet": { + "text": " using fmt::detail::is_container_adaptor_like;\n using T = std::nullptr_t;\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bacca706e7ed2112", + "equalIndicator/v1": "15c4982831b68f9e1496a1ad66e5b70e2c0278f434eaad75a382e0ae44458315" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8352, + "startColumn": 1, + "charOffset": 311946, + "charLength": 20, + "snippet": { + "text": "GTEST_DEFINE_string_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8350, + "startColumn": 1, + "charOffset": 311924, + "charLength": 134, + "snippet": { + "text": "\nnamespace internal {\nGTEST_DEFINE_string_(\n internal_run_death_test, \"\",\n \"Indicates the file, line number, temporal index of \"" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "78444013f94e95af", + "equalIndicator/v1": "173ffde6b74f25a23da06478a81e0fadd49a596da0133d60717ba6ecc7e0ccfa" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 495, + "startColumn": 3, + "charOffset": 14965, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 493, + "startColumn": 1, + "charOffset": 14843, + "charLength": 329, + "snippet": { + "text": "TEST(base_test, constexpr_parse_format_specs) {\n static_assert(parse_test_specs(\"<\").align() == fmt::align::left, \"\");\n static_assert(parse_test_specs(\"*^\").fill_unit() == '*', \"\");\n static_assert(parse_test_specs(\"+\").sign() == fmt::sign::plus, \"\");\n static_assert(parse_test_specs(\"-\").sign() == fmt::sign::none, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "147048b0a316949f", + "equalIndicator/v1": "1850dc90200830bfc2f1cb42ba68869bc6764a1ccc87281ec7fd8c080dd049b1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'do_grouping' should be marked [[nodiscard]]", + "markdown": "Function 'do_grouping' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 389, + "startColumn": 3, + "charOffset": 12974, + "charLength": 11, + "snippet": { + "text": "std::string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 387, + "startColumn": 1, + "charOffset": 12903, + "charLength": 189, + "snippet": { + "text": " protected:\n Char do_decimal_point() const override { return '.'; }\n std::string do_grouping() const override { return \"\\01\"; }\n Char do_thousands_sep() const override { return ','; }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "301adf13e0ac7756", + "equalIndicator/v1": "18750667c51233fb47dac9384fd1c9803022676b218aa1776169574137aecc99" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13437, + "startColumn": 5, + "charOffset": 495230, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13435, + "startColumn": 1, + "charOffset": 495196, + "charLength": 186, + "snippet": { + "text": " expectations.pop_back();\n\n for (ExpectationSet::const_iterator it =\n exp->immediate_prerequisites_.begin();\n it != exp->immediate_prerequisites_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3998f9e9aa5df728", + "equalIndicator/v1": "191bcfad00208da99d3e20771bc4435b027308417a09786d3215ac4e45c2da84" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsTearDownEnd' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsTearDownEnd' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5272, + "startColumn": 8, + "charOffset": 196856, + "charLength": 25, + "snippet": { + "text": "OnEnvironmentsTearDownEnd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5270, + "startColumn": 1, + "charOffset": 196717, + "charLength": 340, + "snippet": { + "text": " void OnTestSuiteEnd(const TestSuite& parameter) override;\n void OnEnvironmentsTearDownStart(const UnitTest& unit_test) override;\n void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) override;\n void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;\n void OnTestProgramEnd(const UnitTest& unit_test) override;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "207f2dbad2c9c234", + "equalIndicator/v1": "1a300e86af2885da99981c08748b982d898eaa676d42106cc95781c5390c6872" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2575, + "startColumn": 3, + "charOffset": 99260, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2573, + "startColumn": 1, + "charOffset": 99195, + "charLength": 134, + "snippet": { + "text": "\n static_assert(fmt::is_formattable, char>{}, \"\");\n static_assert(fmt::is_formattable, char>{}, \"\");\n}\n#endif" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5f605c7eacd14c1", + "equalIndicator/v1": "1b550c4ad0c57a59dacd5f8a733aaa414cd52e20dba92c1d69d98b795dc82433" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'end' should be marked [[nodiscard]]", + "markdown": "Function 'end' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 454, + "startColumn": 3, + "charOffset": 14204, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 452, + "startColumn": 1, + "charOffset": 14135, + "charLength": 124, + "snippet": { + "text": " const char* p;\n auto begin() const -> const char* { return p; }\n auto end() const -> zstring_sentinel { return {}; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc72a1f2a4dc2f5e", + "equalIndicator/v1": "1bb051329044462cd20870a0f023342f3ef72c9f7d5eec31a074f3951f07b636" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 8, + "charOffset": 1857, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 1784, + "charLength": 160, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a613db27e8bd3a8d", + "equalIndicator/v1": "1dcbbf32513faf09c75b0b948d585c7f01f6bd11fb3048ca5e59c897c045870e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 203, + "startColumn": 8, + "charOffset": 6594, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 201, + "startColumn": 1, + "charOffset": 6456, + "charLength": 248, + "snippet": { + "text": "template <> struct formatter {\n auto parse(format_parse_context&) -> const char* { throw bad_format(); }\n auto format(not_default_formattable, format_context& ctx)\n -> format_context::iterator {\n return ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "13d278882d49150c", + "equalIndicator/v1": "1eb13bee03065a9a8a13d15289bde81cc0dafea0d495de9332da957e439a6342" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 432, + "startColumn": 12, + "charOffset": 13037, + "charLength": 11, + "snippet": { + "text": "test_result" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 430, + "startColumn": 1, + "charOffset": 12932, + "charLength": 126, + "snippet": { + "text": " h.format(parse_ctx, ctx);\n EXPECT_EQ(\"test\", std::string(buffer.data, buffer.size()));\n return test_result();\n }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7288b7f01e3d5219", + "equalIndicator/v1": "1fdc675c0d59ed0470fcde01376ba432e7d443b033d2c3ea7a274ea4d74b2b87" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 738, + "startColumn": 3, + "charOffset": 23111, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 736, + "startColumn": 1, + "charOffset": 23061, + "charLength": 105, + "snippet": { + "text": "\nstruct implicitly_convertible_to_string_view {\n operator fmt::string_view() const { return \"foo\"; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "80a361b0583f5a0b", + "equalIndicator/v1": "2010e2fe96cd4e3766fc5cf4e020a9784546f598e51f1b3a5a1d34efa6cce9d4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator int' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator int' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 549, + "startColumn": 3, + "charOffset": 16934, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 547, + "startColumn": 1, + "charOffset": 16862, + "charLength": 111, + "snippet": { + "text": "struct disabled_formatter {};\nstruct disabled_formatter_convertible {\n operator int() const { return 42; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "339759733a818ba3", + "equalIndicator/v1": "204986e2f36d70b6fd7ee47d7211e4b32689b24c9b3802132f27cde20bd32d44" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a template cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a template cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 411, + "startColumn": 3, + "charOffset": 14788, + "charLength": 4, + "snippet": { + "text": "long" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 409, + "startColumn": 1, + "charOffset": 14722, + "charLength": 220, + "snippet": { + "text": " test_length(\"z\");\n test_length(\"t\");\n long double max = max_value();\n EXPECT_PRINTF(fmt::format(\"{:.6}\", max), \"%g\", max);\n EXPECT_PRINTF(fmt::format(\"{:.6}\", max), \"%Lg\", max);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3572911959f28297", + "equalIndicator/v1": "20c7cef8c5455e8b267097d041f5bd65b33c1d39b92d4496e7e23e48f9b67e34" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'IsSaturatedByCallCount' should be marked [[nodiscard]]", + "markdown": "Function 'IsSaturatedByCallCount' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12590, + "startColumn": 3, + "charOffset": 463611, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12588, + "startColumn": 1, + "charOffset": 463604, + "charLength": 102, + "snippet": { + "text": " }\n\n bool IsSaturatedByCallCount(int call_count) const override {\n return call_count >= max_;\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eae88ffcb869049c", + "equalIndicator/v1": "23af3c50fbcea6467eaeb262ba8d1dda6de558a320300e77e1644b3634611f5f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The parameter 'code_location' is copied for each invocation but only used as a const reference; consider making it a const reference", + "markdown": "The parameter 'code_location' is copied for each invocation but only used as a const reference; consider making it a const reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4260, + "startColumn": 46, + "charOffset": 160006, + "charLength": 13, + "snippet": { + "text": "code_location" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4258, + "startColumn": 1, + "charOffset": 159899, + "charLength": 150, + "snippet": { + "text": "\nvoid ReportInvalidTestSuiteType(const char* test_suite_name,\n CodeLocation code_location) {\n Message errors;\n errors" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "22cf29525b548121", + "equalIndicator/v1": "24cbeeea9b473773a9d64c5f5a6a7d1c1887fb9fd8233ca2a5325eea390c093c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2064, + "startColumn": 1, + "charOffset": 83808, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2062, + "startColumn": 1, + "charOffset": 83805, + "charLength": 58, + "snippet": { + "text": "}\n\nnamespace adl_test {\nnamespace fmt {\nnamespace detail {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "12e3b30502d127cb", + "equalIndicator/v1": "267994bd3f13247ecffcba54e252a80435692977564f8f6faac2fa87a94ee22a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of 'length'", + "markdown": "The 'empty' method should be used to check for emptiness instead of 'length'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10178, + "startColumn": 7, + "charOffset": 381632, + "charLength": 9, + "snippet": { + "text": "pathname_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10176, + "startColumn": 1, + "charOffset": 381621, + "charLength": 85, + "snippet": { + "text": " }\n\n if (pathname_.length() == 0 || this->DirectoryExists()) {\n return true;\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4db2cfa1ea1a9911", + "equalIndicator/v1": "27bc17044508c4432e56fda021b09028788dbe021b095a751a6838dc49517ec6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7625, + "startColumn": 9, + "charOffset": 285843, + "charLength": 44, + "snippet": { + "text": "UnitTestOptions::GetAbsolutePathToOutputFile" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7623, + "startColumn": 1, + "charOffset": 285736, + "charLength": 227, + "snippet": { + "text": " if (output_format == \"xml\" || output_format == \"json\") {\n FILE* fileout = OpenFileForWriting(\n UnitTestOptions::GetAbsolutePathToOutputFile().c_str());\n std::stringstream stream;\n if (output_format == \"xml\") {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "437255da05a0252b", + "equalIndicator/v1": "27bc9e67b8b16ca20014b2ad52d9363f9601d8dbb1ebbd6f3fdfc9340bf40134" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13414, + "startColumn": 18, + "charOffset": 494457, + "charLength": 16, + "snippet": { + "text": "~ExpectationBase" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13412, + "startColumn": 1, + "charOffset": 494399, + "charLength": 150, + "snippet": { + "text": "\n// Destructs an ExpectationBase object.\nExpectationBase::~ExpectationBase() {}\n\n// Explicitly specifies the cardinality of this expectation. Used by" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df68782e7879c460", + "equalIndicator/v1": "28909b8ba09118b6c4248b53c849193b60ac48e0d2422429b216c1904f0ccc51" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Operator=() should return 'AssertHelper&'", + "markdown": "Operator=() should return 'AssertHelper\\&'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1902, + "startColumn": 1, + "charOffset": 73523, + "charLength": 4, + "snippet": { + "text": "void" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1900, + "startColumn": 1, + "charOffset": 73466, + "charLength": 206, + "snippet": { + "text": "\n// Message assignment, for assertion streaming support.\nvoid AssertHelper::operator=(const Message& message) const {\n UnitTest::GetInstance()->\n AddTestPartResult(data_->type, data_->file, data_->line," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "501c844b452281de", + "equalIndicator/v1": "28d2274f540e72e935f05a4a8fc6430d14cbeee924f50a9802d1358ed114b6be" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use emplace_back instead of push_back", + "markdown": "Use emplace_back instead of push_back" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13017, + "startColumn": 14, + "charOffset": 480728, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13015, + "startColumn": 1, + "charOffset": 480645, + "charLength": 150, + "snippet": { + "text": " size_t irhs = left_[ilhs];\n if (irhs == kUnused) continue;\n result.push_back(ElementMatcherPair(ilhs, irhs));\n }\n return result;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a3ddf33f5cd28b58", + "equalIndicator/v1": "29dd547a31a7e821e3bd5ded1f21a3dbb9083ad065c2b11ecd9030ebad932d1b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'failed_test_suite_count' should be marked [[nodiscard]]", + "markdown": "Function 'failed_test_suite_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 930, + "startColumn": 3, + "charOffset": 36616, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 928, + "startColumn": 1, + "charOffset": 36569, + "charLength": 125, + "snippet": { + "text": "\n // Gets the number of failed test suites.\n int failed_test_suite_count() const;\n\n // Gets the number of all test suites." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6fb8f70c87eeafaf", + "equalIndicator/v1": "29f928e6ec1e652ea58b6989e1b5bb56822d07a50d3f016d6d3217993045a9b0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'GetTestSuite' should be marked [[nodiscard]]", + "markdown": "Function 'GetTestSuite' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 982, + "startColumn": 3, + "charOffset": 38342, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 980, + "startColumn": 1, + "charOffset": 38185, + "charLength": 336, + "snippet": { + "text": " // Gets the i-th test suite among all the test suites. i can range from 0 to\n // total_test_suite_count() - 1. If i is not in that range, returns NULL.\n const TestSuite* GetTestSuite(int i) const {\n const int index = GetElementOr(test_suite_indices_, i, -1);\n return index < 0 ? nullptr : test_suites_[static_cast(i)];" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "86dc924952eeb1be", + "equalIndicator/v1": "2b56f81fcc7ade92a60ea4c2500ecd849194919c416009a7d4907895326377d2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'total_test_suite_count' should be marked [[nodiscard]]", + "markdown": "Function 'total_test_suite_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 933, + "startColumn": 3, + "charOffset": 36697, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 931, + "startColumn": 1, + "charOffset": 36653, + "charLength": 151, + "snippet": { + "text": "\n // Gets the number of all test suites.\n int total_test_suite_count() const;\n\n // Gets the number of all test suites that contain at least one test" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "215fb7a4b60b7518", + "equalIndicator/v1": "2baae6b1a3620fc48d39f0918214973218b980b8d12a590d62a3b9dee77caf31" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 583, + "startColumn": 8, + "charOffset": 17831, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 581, + "startColumn": 1, + "charOffset": 17819, + "charLength": 138, + "snippet": { + "text": " }\n\n auto format(const const_formattable&, format_context& ctx) const\n -> decltype(ctx.out()) {\n return copy(\"test\", ctx.out());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ed83ccaba93a0d5e", + "equalIndicator/v1": "2c0479bf321e4f3d6a629cda65e7003f66d5c042c9584a05455f63a4968ad8ff" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2044, + "startColumn": 3, + "charOffset": 83132, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2042, + "startColumn": 1, + "charOffset": 83082, + "charLength": 198, + "snippet": { + "text": "\nTEST(format_test, formatter_not_specialized) {\n static_assert(!fmt::is_formattable,\n fmt::format_context>::value,\n \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6205a6269d765a6b", + "equalIndicator/v1": "2c0689507bad11667f51d57d9b065e17b3b3ef85d1113df0abf33c306e587e0c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 8, + "charOffset": 1953, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 1941, + "charLength": 111, + "snippet": { + "text": " }\n\n auto format(to_stringable, format_context& ctx) const -> decltype(ctx.out()) {\n return ctx.out();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "640913d5cd470b26", + "equalIndicator/v1": "2c1111564e0f26de6fe4029ae11f5ebda1ccad7644cdccd72e89946b1d6dbca3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object", + "markdown": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9818, + "startColumn": 7, + "charOffset": 368030, + "charLength": 10, + "snippet": { + "text": "GTEST_FLAG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9816, + "startColumn": 1, + "charOffset": 367914, + "charLength": 243, + "snippet": { + "text": "// the flag is specified; otherwise returns NULL.\nInternalRunDeathTestFlag* ParseInternalRunDeathTestFlag() {\n if (GTEST_FLAG(internal_run_death_test) == \"\") return nullptr;\n\n // GTEST_HAS_DEATH_TEST implies that we have ::std::string, so we" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a506d2fecb50d58", + "equalIndicator/v1": "2cc784b405d85d9f9a2c85cdc57dc1c7bd0af52e590b99beb971fbc59cbff972" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead", + "markdown": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10366, + "startColumn": 11, + "charOffset": 388957, + "charLength": 8, + "snippet": { + "text": "limits.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10364, + "startColumn": 1, + "charOffset": 388945, + "charLength": 60, + "snippet": { + "text": "\n\n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "48ff5ee9b3e4f882", + "equalIndicator/v1": "2cd2c978723d976a72b7583dca47fa2605037e162f56caad29870f2539e9502a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant get() call on smart pointer", + "markdown": "Redundant get() call on smart pointer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2681, + "startColumn": 16, + "charOffset": 102569, + "charLength": 5, + "snippet": { + "text": "other" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2679, + "startColumn": 1, + "charOffset": 102459, + "charLength": 260, + "snippet": { + "text": "AssertionResult::AssertionResult(const AssertionResult& other)\n : success_(other.success_),\n message_(other.message_.get() != nullptr\n ? new ::std::string(*other.message_)\n : static_cast< ::std::string*>(nullptr)) {}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c4209bc70a6628a5", + "equalIndicator/v1": "2d40056ec436fc2239e781b523327e0eab8158bada858bcc9d7250ff161cf4cd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead", + "markdown": "Inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8281, + "startColumn": 12, + "charOffset": 309752, + "charLength": 7, + "snippet": { + "text": "errno.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8279, + "startColumn": 1, + "charOffset": 309715, + "charLength": 86, + "snippet": { + "text": "# endif // GTEST_OS_MAC\n\n# include \n# include \n# include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f44f5e6055bb850", + "equalIndicator/v1": "2ed0e6e6453e12d3ae463b7354ffd50b8a98f35c8a8f8bd7d2fb8cfdc2c4611e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 769, + "startColumn": 1, + "charOffset": 23615, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 767, + "startColumn": 1, + "charOffset": 23538, + "charLength": 176, + "snippet": { + "text": " noncopyable_istream_iterator(noncopyable_istream_iterator&&) = default;\n};\nstatic_assert(!std::is_copy_constructible::value,\n \"\");\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5cf5d50f9d4eb030", + "equalIndicator/v1": "2f0926bd354347ccfe6312171a4109a192e9f0028b01900b5ea685ba2ed4af36" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructor does not initialize these fields: file, line", + "markdown": "Constructor does not initialize these fields: file, line" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 858, + "startColumn": 8, + "charOffset": 33818, + "charLength": 9, + "snippet": { + "text": "TraceInfo" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 856, + "startColumn": 1, + "charOffset": 33762, + "charLength": 99, + "snippet": { + "text": "\n// Information about a Google Test trace point.\nstruct TraceInfo {\n const char* file;\n int line;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f5d4310dc635b11f", + "equalIndicator/v1": "2f89833cee925801cfc0f3959a1a64c90363e0389db5a5ce3f9ef5805d823934" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object", + "markdown": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13948, + "startColumn": 11, + "charOffset": 514124, + "charLength": 5, + "snippet": { + "text": "state" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13946, + "startColumn": 1, + "charOffset": 513995, + "charLength": 287, + "snippet": { + "text": " state.first_used_line);\n std::cout << \" ERROR: this mock object\";\n if (state.first_used_test != \"\") {\n std::cout << \" (used in test \" << state.first_used_test_suite << \".\"\n << state.first_used_test << \")\";" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dfad0f57c1497ebe", + "equalIndicator/v1": "30d1cdb3bb57859926938a37bb301b81de37225a9b380aa01783b4d0450f1c85" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The parameter #3 is copied for each invocation but only used as a const reference; consider making it a const reference", + "markdown": "The parameter #3 is copied for each invocation but only used as a const reference; consider making it a const reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1584, + "startColumn": 52, + "charOffset": 67532, + "charLength": 1, + "snippet": { + "text": ")" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1582, + "startColumn": 1, + "charOffset": 67478, + "charLength": 95, + "snippet": { + "text": "}\n\nvoid function_pointer_test(int, double, std::string) {}\n\nTEST(format_test, format_pointer) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e243e1f7d315a352", + "equalIndicator/v1": "31256b966da8b639781b5ce67dd287bf51db37cfe24f9204d54511702b3542cc" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "String concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead", + "markdown": "String concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 238, + "startColumn": 28, + "charOffset": 7411, + "charLength": 1, + "snippet": { + "text": "+" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 236, + "startColumn": 1, + "charOffset": 7245, + "charLength": 271, + "snippet": { + "text": " std::string(fmt::inline_buffer_size - msg.size() - sep.size(), 'x');\n fmt::detail::format_error_code(buffer, codes[i], prefix);\n EXPECT_EQ(prefix + sep + msg, to_string(buffer));\n size_t size = fmt::inline_buffer_size;\n EXPECT_EQ(size, buffer.size());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "912500134afcf26b", + "equalIndicator/v1": "31ede36fb9ed9f67338fe074c52f0e134a4da3c754dcc45f872a29476bb8cc5e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13824, + "startColumn": 8, + "charOffset": 509267, + "charLength": 35, + "snippet": { + "text": "UntypedExpectations::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13822, + "startColumn": 1, + "charOffset": 509164, + "charLength": 235, + "snippet": { + "text": " // See the definition of untyped_expectations_ for why access to it\n // is unprotected here.\n for (UntypedExpectations::const_iterator it =\n untyped_expectations_.begin();\n it != untyped_expectations_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aac578ccdc3fe095", + "equalIndicator/v1": "32127b38c0fa68b8f28a1567013fd191c8ad9f0e581748ec650c1722694df6ce" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 228, + "startColumn": 39, + "charOffset": 6592, + "charLength": 1, + "snippet": { + "text": "s" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 226, + "startColumn": 1, + "charOffset": 6482, + "charLength": 181, + "snippet": { + "text": "TEST(util_test, utf8_to_utf16_empty_string) {\n auto s = std::string();\n auto u = fmt::detail::utf8_to_utf16(s.c_str());\n EXPECT_EQ(L\"\", u.str());\n EXPECT_EQ(s.size(), u.size());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d3b4287d5271d3bd", + "equalIndicator/v1": "3361efa701219df3deb9b6d60e4c30f85025d1a975e88b9ff74b0edcbe5aba5a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant get() call on smart pointer", + "markdown": "Redundant get() call on smart pointer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2695, + "startColumn": 7, + "charOffset": 103061, + "charLength": 8, + "snippet": { + "text": "message_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2693, + "startColumn": 1, + "charOffset": 102963, + "charLength": 168, + "snippet": { + "text": "AssertionResult AssertionResult::operator!() const {\n AssertionResult negation(!success_);\n if (message_.get() != nullptr) negation << *message_;\n return negation;\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "791c72c58a064b3a", + "equalIndicator/v1": "33636b86ac65ec2aa96f9ea25db3116dbaeb102e845f46cd61aee38cd09f2b83" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 774, + "startColumn": 3, + "charOffset": 24330, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 772, + "startColumn": 1, + "charOffset": 24202, + "charLength": 231, + "snippet": { + "text": " // Types explicitly convertible to string_view are not formattable by\n // default because it may introduce ODR violations.\n static_assert(\n !fmt::is_formattable::value,\n \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "67c586c0ee23d6e9", + "equalIndicator/v1": "33d3cd69e77b02ca42d081a09b953b839222dc83f7e14e114ddc699076b2bd70" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12452, + "startColumn": 8, + "charOffset": 458167, + "charLength": 18, + "snippet": { + "text": "RegisteredTestIter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12450, + "startColumn": 1, + "charOffset": 458155, + "charLength": 115, + "snippet": { + "text": " }\n\n for (RegisteredTestIter it = registered_tests_.begin();\n it != registered_tests_.end();\n ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3288dc88fbc6eddf", + "equalIndicator/v1": "34e5e3455db16db8e932510bc85443f34137c413e98194ec58e486c267437ee1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1669, + "startColumn": 8, + "charOffset": 70801, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1667, + "startColumn": 1, + "charOffset": 70693, + "charLength": 292, + "snippet": { + "text": "struct fmt::formatter\n : formatter {\n auto format(explicitly_convertible_to_std_string_view v,\n format_context& ctx) const -> decltype(ctx.out()) {\n return fmt::format_to(ctx.out(), \"'{}'\", std::string_view(v));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6dc03ee8b04ab134", + "equalIndicator/v1": "3613d2f7ee0c3a3269df05d050226788caccdd4f426456b0690f553a98b9b6cf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constness of 'file_name' prevents automatic move", + "markdown": "Constness of 'file_name' prevents automatic move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 11374, + "startColumn": 12, + "charOffset": 421572, + "charLength": 9, + "snippet": { + "text": "file_name" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 11372, + "startColumn": 1, + "charOffset": 421544, + "charLength": 100, + "snippet": { + "text": "\n if (line < 0)\n return file_name;\n else\n return file_name + \":\" + StreamableToString(line);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5e007c70130614f9", + "equalIndicator/v1": "367d13632c004a43e0554e74544726b493aa62027994a0f3261fcc31a9212cf9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1925, + "startColumn": 24, + "charOffset": 74492, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1923, + "startColumn": 1, + "charOffset": 74426, + "charLength": 174, + "snippet": { + "text": "class FailureTest : public Test {\n public:\n explicit FailureTest(const CodeLocation& loc, std::string error_message,\n bool as_error)\n : loc_(loc)," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "84dc7a6a8437da65", + "equalIndicator/v1": "3681d006d208b9fe4bffeed52fdfc316f367dd5dea3c1d3f40a25df5a15a93bb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead", + "markdown": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 11, + "charOffset": 1055, + "charLength": 8, + "snippet": { + "text": "limits.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1037, + "charLength": 46, + "snippet": { + "text": "#endif\n\n#include \n\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f57ec8581e03d86", + "equalIndicator/v1": "37e4f5d233364934d8eb21e299132bb3edc5b9be67da7dbbdf63d1891c172739" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'find_first_of' should be marked [[nodiscard]]", + "markdown": "Function 'find_first_of' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2500, + "startColumn": 3, + "charOffset": 97082, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2498, + "startColumn": 1, + "charOffset": 97048, + "charLength": 126, + "snippet": { + "text": " using value_type = unsigned;\n\n auto find_first_of(value_type, size_t) const -> size_t;\n\n auto data() const -> const char*;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5f8d70afc387efcd", + "equalIndicator/v1": "393cf5251c2c0e75bc26d94cc3e73e894499a2ee1cb59a539b260ed95ce44e43" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 1, + "charOffset": 458, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 427, + "charLength": 154, + "snippet": { + "text": "using fmt::detail::max_value;\n\nstatic_assert(!std::is_copy_constructible::value, \"\");\nstatic_assert(!std::is_copy_assignable::value, \"\");\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d9b62fd61de62652", + "equalIndicator/v1": "39b3ddab3ab629722389fb9d834f54a97ec94b8ba5d83b0376a15dc745846f63" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'FormatBool' can be made static", + "markdown": "Method 'FormatBool' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1595, + "startColumn": 15, + "charOffset": 62255, + "charLength": 10, + "snippet": { + "text": "FormatBool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1593, + "startColumn": 1, + "charOffset": 62173, + "charLength": 197, + "snippet": { + "text": " void Start() { SendLn(\"gtest_streaming_protocol_version=1.0\"); }\n\n std::string FormatBool(bool value) { return value ? \"1\" : \"0\"; }\n\n const std::unique_ptr socket_writer_;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "82cc445b76a11240", + "equalIndicator/v1": "3a2d8ac98cd517e03878f7f44e5d67344aa1959f7158e5c9d19c19d1184de677" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Throwing an exception whose type 'int' is not derived from 'std::exception'", + "markdown": "Throwing an exception whose type 'int' is not derived from 'std::exception'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 220, + "startColumn": 53, + "charOffset": 7015, + "charLength": 1, + "snippet": { + "text": "1" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 218, + "startColumn": 1, + "charOffset": 6820, + "charLength": 318, + "snippet": { + "text": " EXPECT_SYSTEM_ERROR(throw fmt::system_error(EDOM, \"test\"), EDOM, \"test\");\n EXPECT_NONFATAL_FAILURE(EXPECT_SYSTEM_ERROR(n++, EDOM, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_SYSTEM_ERROR(throw 1, EDOM, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(\n EXPECT_SYSTEM_ERROR(throw fmt::system_error(EDOM, \"aaa\"), EDOM, \"bbb\")," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "01a7ec85c1d506c7", + "equalIndicator/v1": "3a48331636ad169c4c822c62902df73d6ab1c24e84e77e4b592bf2d7ef349b37" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13437, + "startColumn": 10, + "charOffset": 495235, + "charLength": 30, + "snippet": { + "text": "ExpectationSet::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13435, + "startColumn": 1, + "charOffset": 495196, + "charLength": 186, + "snippet": { + "text": " expectations.pop_back();\n\n for (ExpectationSet::const_iterator it =\n exp->immediate_prerequisites_.begin();\n it != exp->immediate_prerequisites_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "758e06bee0cebe08", + "equalIndicator/v1": "3b40dc96e6e99c4f7d5ff64f5f48f8245e72b2027636da7c214be67f6a9bebb8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'dup2' can be made const", + "markdown": "Method 'dup2' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/os.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 305, + "startColumn": 12, + "charOffset": 8735, + "charLength": 4, + "snippet": { + "text": "dup2" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 303, + "startColumn": 1, + "charOffset": 8721, + "charLength": 128, + "snippet": { + "text": "}\n\nvoid file::dup2(int fd, std::error_code& ec) noexcept {\n int result = 0;\n FMT_RETRY(result, FMT_POSIX_CALL(dup2(fd_, fd)));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c21c0a70348a5f53", + "equalIndicator/v1": "3ba7a780054e11efbeecdeccbd11667c88c66751d97fa3ddaab2cf52119ce2c5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial default constructor", + "markdown": "Use '= default' to define a trivial default constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4841, + "startColumn": 3, + "charOffset": 180129, + "charLength": 27, + "snippet": { + "text": "PrettyUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4839, + "startColumn": 1, + "charOffset": 180055, + "charLength": 217, + "snippet": { + "text": "class PrettyUnitTestResultPrinter : public TestEventListener {\n public:\n PrettyUnitTestResultPrinter() {}\n static void PrintTestName(const char* test_suite, const char* test) {\n printf(\"%s.%s\", test_suite, test);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee46e5cfb3a2b177", + "equalIndicator/v1": "3bb4ce672445b7115c74aceb3c467a45ff9f018d0c55e582171b74136fca7a3a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'spawned' should be marked [[nodiscard]]", + "markdown": "Function 'spawned' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8647, + "startColumn": 3, + "charOffset": 322297, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8645, + "startColumn": 1, + "charOffset": 322239, + "charLength": 203, + "snippet": { + "text": "\n const char* statement() const { return statement_; }\n bool spawned() const { return spawned_; }\n void set_spawned(bool is_spawned) { spawned_ = is_spawned; }\n int status() const { return status_; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "07e9ae876173a948", + "equalIndicator/v1": "3c43def61f04653d74dea11ee3cf69dc70a5b4236f777068269c78351224b021" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'data' should be marked [[nodiscard]]", + "markdown": "Function 'data' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2502, + "startColumn": 3, + "charOffset": 97141, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2500, + "startColumn": 1, + "charOffset": 97080, + "charLength": 128, + "snippet": { + "text": " auto find_first_of(value_type, size_t) const -> size_t;\n\n auto data() const -> const char*;\n auto size() const -> size_t;\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "16851e90bbfce454", + "equalIndicator/v1": "3ce77af4b2ccd3b38c02b9ea1fda77afc7ea3962e92fe03b43bd6952a46a217b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9426, + "startColumn": 10, + "charOffset": 352444, + "charLength": 11, + "snippet": { + "text": "std::vector" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9424, + "startColumn": 1, + "charOffset": 352417, + "charLength": 124, + "snippet": { + "text": "\n ~Arguments() {\n for (std::vector::iterator i = args_.begin(); i != args_.end();\n ++i) {\n free(*i);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ccf3e47f928888fb", + "equalIndicator/v1": "3e2b40c54914313345b9c5321d76383ffc3bc4b1e01cf462369cc156b729f31e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4206, + "startColumn": 20, + "charOffset": 157564, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4204, + "startColumn": 1, + "charOffset": 157477, + "charLength": 244, + "snippet": { + "text": "// object.\nTestInfo::TestInfo(const std::string& a_test_suite_name,\n const std::string& a_name, const char* a_type_param,\n const char* a_value_param,\n internal::CodeLocation a_code_location," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c72a4dd3d159487b", + "equalIndicator/v1": "3e2c70691b260ecea125a68c1407b2038a5f40ddf1f76a9e05828367376db39e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'current_test_info' should be marked [[nodiscard]]", + "markdown": "Function 'current_test_info' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1163, + "startColumn": 3, + "charOffset": 46187, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1161, + "startColumn": 1, + "charOffset": 46044, + "charLength": 289, + "snippet": { + "text": " const TestSuite* current_test_suite() const { return current_test_suite_; }\n TestInfo* current_test_info() { return current_test_info_; }\n const TestInfo* current_test_info() const { return current_test_info_; }\n\n // Returns the vector of environments that need to be set-up/torn-down" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "10806a2e5c20c611", + "equalIndicator/v1": "3e949a0dd155e148781e9aed59729b889636c52d77717f6cf00872ba18862f18" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 202, + "startColumn": 8, + "charOffset": 6519, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 200, + "startColumn": 1, + "charOffset": 6436, + "charLength": 246, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n auto parse(format_parse_context&) -> const char* { throw bad_format(); }\n auto format(not_default_formattable, format_context& ctx)\n -> format_context::iterator {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6b6aa7c83debf5ee", + "equalIndicator/v1": "3ec616eb7455af57e25f7cf913c24de2b6cadc10c8eb8d6b8fe715c312261912" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 867, + "startColumn": 17, + "charOffset": 26590, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 865, + "startColumn": 1, + "charOffset": 26513, + "charLength": 159, + "snippet": { + "text": "struct nondeterministic_format_string {\n mutable int i = 0;\n FMT_CONSTEXPR operator string_view() const {\n return string_view(\"{}\", i++ != 0 ? 2 : 0);\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8737a10cf54dcb4b", + "equalIndicator/v1": "3f770049d4dfd75e2cf072fbfc318a3f6175d87e6820f003687d564de227bc2d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 590, + "startColumn": 22, + "charOffset": 18040, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 588, + "startColumn": 1, + "charOffset": 17965, + "charLength": 162, + "snippet": { + "text": "\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fa4085055e197470", + "equalIndicator/v1": "419a4dfd37f3e5230c2002ab668052be8795c7b42e6e59aa4149832ba58cb386" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14090, + "startColumn": 8, + "charOffset": 519873, + "charLength": 31, + "snippet": { + "text": "FunctionMockers::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14088, + "startColumn": 1, + "charOffset": 519771, + "charLength": 245, + "snippet": { + "text": " FunctionMockers& mockers =\n g_mock_object_registry.states()[mock_obj].function_mockers;\n for (FunctionMockers::const_iterator it = mockers.begin();\n it != mockers.end(); ++it) {\n if (!(*it)->VerifyAndClearExpectationsLocked()) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d6d3ee222a19119c", + "equalIndicator/v1": "41b96cf13f718c268c15ad8947af383a11c35aa428e0bb440e191023baf98f1a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14150, + "startColumn": 8, + "charOffset": 522303, + "charLength": 38, + "snippet": { + "text": "MockObjectRegistry::StateMap::iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14148, + "startColumn": 1, + "charOffset": 522194, + "charLength": 264, + "snippet": { + "text": " GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex) {\n internal::g_gmock_mutex.AssertHeld();\n for (MockObjectRegistry::StateMap::iterator it =\n g_mock_object_registry.states().begin();\n it != g_mock_object_registry.states().end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e091eed7a615b874", + "equalIndicator/v1": "41b974c8000d97f1047019cd642e9302cd197b08b131772b2b84e4ac128f7736" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1706, + "startColumn": 8, + "charOffset": 71942, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1704, + "startColumn": 1, + "charOffset": 71930, + "charLength": 223, + "snippet": { + "text": " }\n\n auto format(const date& d, format_context& ctx) const -> decltype(ctx.out()) {\n // Namespace-qualify to avoid ambiguity with std::format_to.\n fmt::format_to(ctx.out(), \"{}-{}-{}\", d.year(), d.month(), d.day());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "46c3ec086d60d4b9", + "equalIndicator/v1": "44d79b1257394f9d900b912d6ef9d295a519e7f20fbb50ca787e7730dc172392" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'do_grouping' should be marked [[nodiscard]]", + "markdown": "Function 'do_grouping' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 382, + "startColumn": 3, + "charOffset": 12709, + "charLength": 11, + "snippet": { + "text": "std::string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 380, + "startColumn": 1, + "charOffset": 12638, + "charLength": 192, + "snippet": { + "text": " protected:\n Char do_decimal_point() const override { return '.'; }\n std::string do_grouping() const override { return \"\\03\\02\"; }\n Char do_thousands_sep() const override { return ','; }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4bae21807062f0c6", + "equalIndicator/v1": "4540969d5b8fe48e005e7e2a9b34b4290a4c9f1fd6523a4dccd7bbde3a0f44c0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'end' should be marked [[nodiscard]]", + "markdown": "Function 'end' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 258, + "startColumn": 3, + "charOffset": 7943, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 256, + "startColumn": 1, + "charOffset": 7855, + "charLength": 170, + "snippet": { + "text": "template struct path_like {\n auto begin() const -> const path_like*;\n auto end() const -> const path_like*;\n\n operator std::basic_string() const;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "655495afb646ba9f", + "equalIndicator/v1": "45cf9776d891969c135271fa4f69eb26432f8f8656b7e1de4d9d383fd03fe033" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'CreateDirectoriesRecursively' is within a recursive call chain", + "markdown": "Function 'CreateDirectoriesRecursively' is within a recursive call chain" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10173, + "startColumn": 16, + "charOffset": 381534, + "charLength": 28, + "snippet": { + "text": "CreateDirectoriesRecursively" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10171, + "startColumn": 1, + "charOffset": 381420, + "charLength": 200, + "snippet": { + "text": "// the directories already exist; returns false if unable to create directories\n// for any reason.\nbool FilePath::CreateDirectoriesRecursively() const {\n if (!this->IsDirectory()) {\n return false;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c77144f7fad819a4", + "equalIndicator/v1": "46f48447f490e1be152ebeac0acba593348f5f70aca05860841313c9cdec92ac" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 480, + "startColumn": 3, + "charOffset": 14293, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 478, + "startColumn": 1, + "charOffset": 14167, + "charLength": 255, + "snippet": { + "text": " static_assert(parse_arg_id(\"42:\").res == arg_id_result::index, \"\");\n static_assert(parse_arg_id(\"42:\").index == 42, \"\");\n static_assert(parse_arg_id(\"foo:\").res == arg_id_result::name, \"\");\n static_assert(parse_arg_id(\"foo:\").name.size() == 3, \"\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ec60692721206aac", + "equalIndicator/v1": "4938e01479490d8c3f4a0a94b55cf67eaef0aebd9166c6473f7e41c7d4bc2251" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 481, + "startColumn": 3, + "charOffset": 14363, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 479, + "startColumn": 1, + "charOffset": 14237, + "charLength": 186, + "snippet": { + "text": " static_assert(parse_arg_id(\"42:\").index == 42, \"\");\n static_assert(parse_arg_id(\"foo:\").res == arg_id_result::name, \"\");\n static_assert(parse_arg_id(\"foo:\").name.size() == 3, \"\");\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee5396047aa9c33d", + "equalIndicator/v1": "4aa8b0d36f7f60124e2e08e966923321a943a6dc9fb5475de9faeb0d9f5110cf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 611, + "startColumn": 22, + "charOffset": 18578, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 609, + "startColumn": 1, + "charOffset": 18470, + "charLength": 195, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a66fc92981a082b0", + "equalIndicator/v1": "4d06e2c28129c1d1be4d2d99af2b262b86540808031deb1e341f71cc48a2b3c2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 612, + "startColumn": 5, + "charOffset": 19325, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 610, + "startColumn": 1, + "charOffset": 19177, + "charLength": 302, + "snippet": { + "text": " static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(!is_container_adaptor_like>::value, \"\");\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c1aa146541f1c4bc", + "equalIndicator/v1": "4d0d2fa82545fc55131f78db408600988725dcc54db60c2af60d6e3f0f72b7c9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14178, + "startColumn": 3, + "charOffset": 523254, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14176, + "startColumn": 1, + "charOffset": 523157, + "charLength": 231, + "snippet": { + "text": " FunctionMockers& mockers =\n g_mock_object_registry.states()[mock_obj].function_mockers;\n for (FunctionMockers::const_iterator it = mockers.begin();\n it != mockers.end(); ++it) {\n (*it)->ClearDefaultActionsLocked();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ef63353440c67d49", + "equalIndicator/v1": "4dd97137431a7ead431782823f55b05fb61ad9fa3baa38d115bd1e195fc399c9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'gtest_trace_stack' should be marked [[nodiscard]]", + "markdown": "Function 'gtest_trace_stack' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1173, + "startColumn": 3, + "charOffset": 46597, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1171, + "startColumn": 1, + "charOffset": 46547, + "charLength": 148, + "snippet": { + "text": " return *(gtest_trace_stack_.pointer());\n }\n const std::vector& gtest_trace_stack() const {\n return gtest_trace_stack_.get();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "88f8e02bceb5fd84", + "equalIndicator/v1": "4e6d06df08f2b942b180ee0a8d7ff76b135135c9406c280d0a02decfcc7de2b6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnTestProgramStart' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnTestProgramStart' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5254, + "startColumn": 8, + "charOffset": 195816, + "charLength": 18, + "snippet": { + "text": "OnTestProgramStart" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5252, + "startColumn": 1, + "charOffset": 195731, + "charLength": 289, + "snippet": { + "text": " void set_forwarding_enabled(bool enable) { forwarding_enabled_ = enable; }\n\n void OnTestProgramStart(const UnitTest& unit_test) override;\n void OnTestIterationStart(const UnitTest& unit_test, int iteration) override;\n void OnEnvironmentsSetUpStart(const UnitTest& unit_test) override;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1f4458bef6977963", + "equalIndicator/v1": "4e70995a2738ab3b70e2de607fd6a288c104d45694cd2b32ad06aa71d93f851d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10417, + "startColumn": 1, + "charOffset": 389998, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10415, + "startColumn": 1, + "charOffset": 389996, + "charLength": 43, + "snippet": { + "text": "\n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f9c9021d28dbeabb", + "equalIndicator/v1": "4ea9d0f3160ed98d6670f9ab28c0e90316d19e1945f47e3a47ef040e0a6abe9b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 883, + "startColumn": 14, + "charOffset": 27037, + "charLength": 19, + "snippet": { + "text": "fmt::format_context" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 881, + "startColumn": 1, + "charOffset": 26899, + "charLength": 211, + "snippet": { + "text": " static fmt::format_context copy(fmt::appender app,\n const fmt::format_context& ctx) {\n return fmt::format_context(std::move(app), ctx.args(), ctx.locale());\n }\n };" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e206b9cf8da11fd", + "equalIndicator/v1": "4ecfa9b9acb53ab9e1487a0e767fab7a0d92fdf8f3d8b50fb79cb56b7c7a90bf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13824, + "startColumn": 3, + "charOffset": 509262, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13822, + "startColumn": 1, + "charOffset": 509164, + "charLength": 235, + "snippet": { + "text": " // See the definition of untyped_expectations_ for why access to it\n // is unprotected here.\n for (UntypedExpectations::const_iterator it =\n untyped_expectations_.begin();\n it != untyped_expectations_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6336af83608ca1f6", + "equalIndicator/v1": "50097155f30cedcaeb9275cb923a8cabee140c7100813cf335d6af1a94b23de6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9825, + "startColumn": 15, + "charOffset": 368269, + "charLength": 10, + "snippet": { + "text": "GTEST_FLAG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9823, + "startColumn": 1, + "charOffset": 368197, + "charLength": 153, + "snippet": { + "text": " int index = -1;\n ::std::vector< ::std::string> fields;\n SplitString(GTEST_FLAG(internal_run_death_test).c_str(), '|', &fields);\n int write_fd = -1;\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "98dcac16c92895ac", + "equalIndicator/v1": "500c7fd13f3f084c8b434606782bd9ba7d9de4b3ce9500303ea28a60894611b9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 501, + "startColumn": 3, + "charOffset": 15371, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 499, + "startColumn": 1, + "charOffset": 15244, + "charLength": 306, + "snippet": { + "text": " static_assert(parse_test_specs(\"#\").alt(), \"\");\n static_assert(parse_test_specs(\"0\").align() == fmt::align::numeric, \"\");\n static_assert(parse_test_specs(\"L\").localized(), \"\");\n static_assert(parse_test_specs(\"42\").width == 42, \"\");\n static_assert(parse_test_specs(\"{42}\").width_ref.index == 42, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ff8ba03f5aa306ce", + "equalIndicator/v1": "51c314aec1653cb1c3e8ad05fec6e36dde77da4d90bbbc3166abd551f12538ee" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'operator*' can be made const", + "markdown": "Method 'operator\\*' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2214, + "startColumn": 8, + "charOffset": 88073, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2212, + "startColumn": 1, + "charOffset": 88046, + "charLength": 69, + "snippet": { + "text": " return tmp;\n }\n auto operator*() -> char& { return *data; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a17cb5d6881a80cb", + "equalIndicator/v1": "523c0a1bb6fa1fcad54919a53d2f9999194d578b8235dc6a660b56d77d51c6f5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead", + "markdown": "Inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 313, + "startColumn": 11, + "charOffset": 13664, + "charLength": 7, + "snippet": { + "text": "stdio.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 311, + "startColumn": 1, + "charOffset": 13615, + "charLength": 95, + "snippet": { + "text": "#include \n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e7e2fafd3f4a3718", + "equalIndicator/v1": "52e00710f750b1067975b6edffe6aaa9678d4d6d8c64c3bda774b0f0e2b709fd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'status' should be marked [[nodiscard]]", + "markdown": "Function 'status' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8649, + "startColumn": 3, + "charOffset": 322404, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8647, + "startColumn": 1, + "charOffset": 322295, + "charLength": 259, + "snippet": { + "text": " bool spawned() const { return spawned_; }\n void set_spawned(bool is_spawned) { spawned_ = is_spawned; }\n int status() const { return status_; }\n void set_status(int a_status) { status_ = a_status; }\n DeathTestOutcome outcome() const { return outcome_; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e7f51535a0d98cde", + "equalIndicator/v1": "52e229da74dd5ee1abeea26ae3902082d72e61148789370f86b3e15148bdfe4f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 1, + "charOffset": 521, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 457, + "charLength": 155, + "snippet": { + "text": "\nstatic_assert(!std::is_copy_constructible::value, \"\");\nstatic_assert(!std::is_copy_assignable::value, \"\");\n\nTEST(bigint_test, construct) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b67c5d5e6a37a6d1", + "equalIndicator/v1": "5319c2127b45c567ba8f9fb10723e8276b856009b06bf324bdcd6d8ff802612f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13845, + "startColumn": 8, + "charOffset": 510003, + "charLength": 35, + "snippet": { + "text": "UntypedExpectations::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13843, + "startColumn": 1, + "charOffset": 509934, + "charLength": 201, + "snippet": { + "text": " g_gmock_mutex.AssertHeld();\n bool expectations_met = true;\n for (UntypedExpectations::const_iterator it =\n untyped_expectations_.begin();\n it != untyped_expectations_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8430c683b0f2ae61", + "equalIndicator/v1": "54b70921ca9b52f8eac3095c4ed15781eec4007f3dd316ac12a7f46f8e682573" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5549, + "startColumn": 3, + "charOffset": 207111, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5547, + "startColumn": 1, + "charOffset": 207057, + "charLength": 190, + "snippet": { + "text": " std::string output;\n output.reserve(str.size());\n for (std::string::const_iterator it = str.begin(); it != str.end(); ++it)\n if (IsValidXmlCharacter(*it))\n output.push_back(*it);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "acc4d25a02a5b24c", + "equalIndicator/v1": "554677e224e0f47d4d8575cd26fe7c0551ae5b9e132effe3f65c93d1417dac26" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructors that are callable with a single argument must be marked explicit to avoid unintentional implicit conversions", + "markdown": "Constructors that are callable with a single argument must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 150, + "startColumn": 3, + "charOffset": 4851, + "charLength": 11, + "snippet": { + "text": "mock_buffer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 148, + "startColumn": 1, + "charOffset": 4844, + "charLength": 191, + "snippet": { + "text": " }\n\n mock_buffer(T* data = nullptr, size_t buf_capacity = 0) : buffer(grow) {\n this->set(data, buf_capacity);\n ON_CALL(*this, do_grow(_)).WillByDefault(Invoke([](size_t capacity) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7957d020321e40fe", + "equalIndicator/v1": "55b26ac03e78bee9cf39f09c2e406cd8956103ca809209deb1aaa36187b199a3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 536, + "startColumn": 3, + "charOffset": 16517, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 534, + "startColumn": 1, + "charOffset": 16465, + "charLength": 173, + "snippet": { + "text": "\nTEST(base_test, constexpr_parse_format_string) {\n static_assert(parse_string(\"foo\"), \"\");\n static_assert(!parse_string(\"}\"), \"\");\n static_assert(parse_string(\"{}\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da161fab93791a7b", + "equalIndicator/v1": "55b68bd76d5b9e7a8b6bb9a77778ba99598a644ac2dae12ee557e2aeaf72a36b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3809, + "startColumn": 10, + "charOffset": 142802, + "charLength": 11, + "snippet": { + "text": "std::vector" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3807, + "startColumn": 1, + "charOffset": 142717, + "charLength": 115, + "snippet": { + "text": " }\n // This code is unreachable but some compilers may not realizes that.\n return std::vector();\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc06e228a41bb227", + "equalIndicator/v1": "55f974399803b1bcdba60f1f42abd780ba6d369998419dee7d8480f05d0efca9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'size' can be made static", + "markdown": "Method 'size' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 849, + "startColumn": 10, + "charOffset": 26150, + "charLength": 4, + "snippet": { + "text": "size" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 847, + "startColumn": 1, + "charOffset": 26113, + "charLength": 89, + "snippet": { + "text": " using value_type = char;\n\n size_t size() const { return 0; }\n void resize(size_t) {}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b26df5bfc322cb44", + "equalIndicator/v1": "565b6f0e9abca4c8bb869eab2d8768237904d04f889a305e189d680d28e52859" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 505, + "startColumn": 3, + "charOffset": 15615, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 503, + "startColumn": 1, + "charOffset": 15482, + "charLength": 304, + "snippet": { + "text": " static_assert(parse_test_specs(\"{42}\").width_ref.index == 42, \"\");\n static_assert(parse_test_specs(\".42\").precision == 42, \"\");\n static_assert(parse_test_specs(\".{42}\").precision_ref.index == 42, \"\");\n static_assert(parse_test_specs(\"f\").type() == fmt::presentation_type::fixed,\n \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "acc66806809661d1", + "equalIndicator/v1": "56db89081437fe9e48772b2d76ea60b4b7e1cff6c5d7e9fb5e26240f08fa89b1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2307, + "startColumn": 3, + "charOffset": 90918, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2305, + "startColumn": 1, + "charOffset": 90837, + "charLength": 193, + "snippet": { + "text": "\ntemplate auto check_enabled_formatter() -> bool {\n static_assert(std::is_default_constructible>::value,\n \"\");\n return true;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "216c9cc18faa2333", + "equalIndicator/v1": "593f0096d076d9888f7137b8c80c0892ad4276f8a2a36bc65986b07f917b5849" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'reportable_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'reportable_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 955, + "startColumn": 3, + "charOffset": 37361, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 953, + "startColumn": 1, + "charOffset": 37295, + "charLength": 136, + "snippet": { + "text": "\n // Gets the number of tests to be printed in the XML report.\n int reportable_test_count() const;\n\n // Gets the number of all tests." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "69c41f1799895389", + "equalIndicator/v1": "59658b741d413673f3735fa0ce08ce0ee087ec84c9bc561ca33b2d826e8c92e5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 539, + "startColumn": 3, + "charOffset": 16641, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 537, + "startColumn": 1, + "charOffset": 16557, + "charLength": 210, + "snippet": { + "text": " static_assert(!parse_string(\"}\"), \"\");\n static_assert(parse_string(\"{}\"), \"\");\n static_assert(parse_string(\"{42}\"), \"\");\n static_assert(parse_string(\"{foo}\"), \"\");\n static_assert(parse_string(\"{:}\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4007fe8235bb1d36", + "equalIndicator/v1": "59d60db818d146564976b193fbcccb563edd8c52b1a067aaf8fc18adc2afc06b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Throwing an exception whose type 'testing::internal::(anonymous namespace)::ClassUniqueToAlwaysTrue' is not derived from 'std::exception'", + "markdown": "Throwing an exception whose type 'testing::internal::(anonymous namespace)::ClassUniqueToAlwaysTrue' is not derived from 'std::exception'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7736, + "startColumn": 11, + "charOffset": 289843, + "charLength": 23, + "snippet": { + "text": "ClassUniqueToAlwaysTrue" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7734, + "startColumn": 1, + "charOffset": 289756, + "charLength": 160, + "snippet": { + "text": " // but it makes the compiler think that it may throw.\n if (IsTrue(false))\n throw ClassUniqueToAlwaysTrue();\n#endif // GTEST_HAS_EXCEPTIONS\n return true;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "17bbdef09be13f2f", + "equalIndicator/v1": "59dd86812070c289b704d99e5b9ed2b06f9dff58c14cc36b4f5106016cca30b9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use emplace_back instead of push_back", + "markdown": "Use emplace_back instead of push_back" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2838, + "startColumn": 20, + "charOffset": 107338, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2836, + "startColumn": 1, + "charOffset": 107286, + "charLength": 110, + "snippet": { + "text": " case '+':\n ++adds_;\n hunk_adds_.push_back(std::make_pair('+', line));\n break;\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e1bacfe9cf863a38", + "equalIndicator/v1": "5a3b2e5b1ec8fe9552054d5d592c1788246c58eacc902bce9bdf2c29eadbbeb2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1474, + "startColumn": 43, + "charOffset": 58022, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1472, + "startColumn": 1, + "charOffset": 57916, + "charLength": 213, + "snippet": { + "text": " class SocketWriter : public AbstractSocketWriter {\n public:\n SocketWriter(const std::string& host, const std::string& port)\n : sockfd_(-1), host_name_(host), port_num_(port) {\n MakeConnection();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "181aba90ee136a28", + "equalIndicator/v1": "5ae267cbe052e1c40ababacc23616fa1f26daf09f9c5bb91b8bb2ea391331cc3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'failed_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'failed_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 946, + "startColumn": 3, + "charOffset": 37061, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 944, + "startColumn": 1, + "charOffset": 37020, + "charLength": 152, + "snippet": { + "text": "\n // Gets the number of failed tests.\n int failed_test_count() const;\n\n // Gets the number of disabled tests that will be reported in the XML report." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "505d9c89d0ce2b88", + "equalIndicator/v1": "5f095cfc7f3bcbcf434c6ad7fc05de4591d039b919b6641cda0a5c3718b4e6ee" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'ConservativeUpperBound' should be marked [[nodiscard]]", + "markdown": "Function 'ConservativeUpperBound' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12584, + "startColumn": 3, + "charOffset": 463426, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12582, + "startColumn": 1, + "charOffset": 463341, + "charLength": 209, + "snippet": { + "text": " // calls allowed.\n int ConservativeLowerBound() const override { return min_; }\n int ConservativeUpperBound() const override { return max_; }\n\n bool IsSatisfiedByCallCount(int call_count) const override {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d8d6a26c024619e4", + "equalIndicator/v1": "5f25780dc760b14d5acc5f0cbb903c90c6790da1a3df3e5502b75598967802ff" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use emplace_back instead of push_back", + "markdown": "Use emplace_back instead of push_back" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2834, + "startColumn": 23, + "charOffset": 107233, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2832, + "startColumn": 1, + "charOffset": 107175, + "charLength": 126, + "snippet": { + "text": " case '-':\n ++removes_;\n hunk_removes_.push_back(std::make_pair('-', line));\n break;\n case '+':" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8f8e151767a7be7e", + "equalIndicator/v1": "6308efc7e23db85e04a6adc25a6de7048208c476cf67e0cb836172d968a0f9e8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'do_grouping' should be marked [[nodiscard]]", + "markdown": "Function 'do_grouping' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 368, + "startColumn": 3, + "charOffset": 12189, + "charLength": 11, + "snippet": { + "text": "std::string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 366, + "startColumn": 1, + "charOffset": 12118, + "charLength": 189, + "snippet": { + "text": " protected:\n Char do_decimal_point() const override { return '?'; }\n std::string do_grouping() const override { return \"\\03\"; }\n Char do_thousands_sep() const override { return '~'; }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "10733a1636a687f4", + "equalIndicator/v1": "6357b89d2042b63642eb1183126c5ae562f17c1d5313cd7493f13968fee0fb4c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'reportable_disabled_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'reportable_disabled_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 949, + "startColumn": 3, + "charOffset": 37175, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 947, + "startColumn": 1, + "charOffset": 37092, + "charLength": 167, + "snippet": { + "text": "\n // Gets the number of disabled tests that will be reported in the XML report.\n int reportable_disabled_test_count() const;\n\n // Gets the number of disabled tests." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e974cc0e7b8546ef", + "equalIndicator/v1": "642e545d893db2dfd776badf4a66c2420322d50b0120cdf66135abb241793e4c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3941, + "startColumn": 23, + "charOffset": 146751, + "charLength": 13, + "snippet": { + "text": "value_message" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3939, + "startColumn": 1, + "charOffset": 146678, + "charLength": 111, + "snippet": { + "text": " Message value_message;\n value_message << value;\n RecordProperty(key, value_message.GetString().c_str());\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba36421813f0a63b", + "equalIndicator/v1": "64634e43096fadd78b37842f71a4d49466f51d775a84f4ff0d681637c3f2f538" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 504, + "startColumn": 3, + "charOffset": 15553, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 502, + "startColumn": 1, + "charOffset": 15425, + "charLength": 340, + "snippet": { + "text": " static_assert(parse_test_specs(\"42\").width == 42, \"\");\n static_assert(parse_test_specs(\"{42}\").width_ref.index == 42, \"\");\n static_assert(parse_test_specs(\".42\").precision == 42, \"\");\n static_assert(parse_test_specs(\".{42}\").precision_ref.index == 42, \"\");\n static_assert(parse_test_specs(\"f\").type() == fmt::presentation_type::fixed," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4b29b1c375e16162", + "equalIndicator/v1": "658ba1269b07edaf6ae616819fc8e707cb91c0fbd0f9110d42ba6e023f3eb273" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'outcome' should be marked [[nodiscard]]", + "markdown": "Function 'outcome' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8651, + "startColumn": 3, + "charOffset": 322501, + "charLength": 16, + "snippet": { + "text": "DeathTestOutcome" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8649, + "startColumn": 1, + "charOffset": 322402, + "charLength": 270, + "snippet": { + "text": " int status() const { return status_; }\n void set_status(int a_status) { status_ = a_status; }\n DeathTestOutcome outcome() const { return outcome_; }\n void set_outcome(DeathTestOutcome an_outcome) { outcome_ = an_outcome; }\n int read_fd() const { return read_fd_; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1d22a3b83f9b6606", + "equalIndicator/v1": "65d1765635d23dbb353a6a42ce4a2e2fe46393cf0141d3e2d772bb5bd0f41909" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnTestStart' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnTestStart' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5263, + "startColumn": 8, + "charOffset": 196355, + "charLength": 11, + "snippet": { + "text": "OnTestStart" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5261, + "startColumn": 1, + "charOffset": 196240, + "charLength": 281, + "snippet": { + "text": "#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_\n void OnTestSuiteStart(const TestSuite& parameter) override;\n void OnTestStart(const TestInfo& test_info) override;\n void OnTestPartResult(const TestPartResult& result) override;\n void OnTestEnd(const TestInfo& test_info) override;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de56b74a5f1b04ae", + "equalIndicator/v1": "66eafd311466e33e3d56f3f1c2428539d81c39f33283d7e24cbb475fa27320c9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnTestEnd' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnTestEnd' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5265, + "startColumn": 8, + "charOffset": 196475, + "charLength": 9, + "snippet": { + "text": "OnTestEnd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5263, + "startColumn": 1, + "charOffset": 196348, + "charLength": 264, + "snippet": { + "text": " void OnTestStart(const TestInfo& test_info) override;\n void OnTestPartResult(const TestPartResult& result) override;\n void OnTestEnd(const TestInfo& test_info) override;\n// Legacy API is deprecated but still available\n#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c0e0d0fb6bed4a0a", + "equalIndicator/v1": "673ad0d874363937d0603bf91fdab807813b8b7c4784d95789a02a2c7bb66e9d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 829, + "startColumn": 8, + "charOffset": 25756, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 827, + "startColumn": 1, + "charOffset": 25744, + "charLength": 120, + "snippet": { + "text": " }\n\n auto format(its_a_trap, format_context& ctx) const\n -> decltype(ctx.out()) const {\n auto out = ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8e8664b0f5eb3461", + "equalIndicator/v1": "684f9e4280cda185f2d36707b6beb976e8910719596f25f84ef0f993061b2828" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1418, + "startColumn": 9, + "charOffset": 56180, + "charLength": 7, + "snippet": { + "text": "Integer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1416, + "startColumn": 1, + "charOffset": 56120, + "charLength": 204, + "snippet": { + "text": " GTEST_CHECK_(sizeof(Integer) <= sizeof(parsed));\n\n const Integer result = static_cast(parsed);\n if (parse_success && static_cast(result) == parsed) {\n *number = result;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bed487d5e6ee0900", + "equalIndicator/v1": "69108b4d89121ec96fc6fec5b56bf176b1159f9d6909c5ed2aace6cadfa7fb57" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 868, + "startColumn": 12, + "charOffset": 26632, + "charLength": 11, + "snippet": { + "text": "string_view" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 866, + "startColumn": 1, + "charOffset": 26553, + "charLength": 122, + "snippet": { + "text": " mutable int i = 0;\n FMT_CONSTEXPR operator string_view() const {\n return string_view(\"{}\", i++ != 0 ? 2 : 0);\n }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "99b83cf56bf42d0f", + "equalIndicator/v1": "691b7721dab9da53634c7c21cf2ce4020ee1b285455a4220521d910572a6ad96" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'GetTestCase' should be marked [[nodiscard]]", + "markdown": "Function 'GetTestCase' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 989, + "startColumn": 3, + "charOffset": 38622, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 987, + "startColumn": 1, + "charOffset": 38527, + "charLength": 210, + "snippet": { + "text": " // Legacy API is deprecated but still available\n#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_\n const TestCase* GetTestCase(int i) const { return GetTestSuite(i); }\n#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "73b6066874ba6ace", + "equalIndicator/v1": "6997014d751497cfd542e51438adc0319c5b8ac7ed5ac44bd362d7f0fc9a800b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 502, + "startColumn": 3, + "charOffset": 15427, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 500, + "startColumn": 1, + "charOffset": 15294, + "charLength": 318, + "snippet": { + "text": " static_assert(parse_test_specs(\"0\").align() == fmt::align::numeric, \"\");\n static_assert(parse_test_specs(\"L\").localized(), \"\");\n static_assert(parse_test_specs(\"42\").width == 42, \"\");\n static_assert(parse_test_specs(\"{42}\").width_ref.index == 42, \"\");\n static_assert(parse_test_specs(\".42\").precision == 42, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a7db7b232653cf67", + "equalIndicator/v1": "699b18f9497db1df44ec4d6b0206a00fde5206d1875d3d32e93fc20f327d8236" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 750, + "startColumn": 30, + "charOffset": 29798, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 748, + "startColumn": 1, + "charOffset": 29713, + "charLength": 205, + "snippet": { + "text": " //\n // TestPropertyKeyIs has NO default constructor.\n explicit TestPropertyKeyIs(const std::string& key) : key_(key) {}\n\n // Returns true if and only if the test name of test property matches on key_." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "176bf6517bddae1f", + "equalIndicator/v1": "6a1b505ad837ddc44f23e6a032e626420f0560d055646b93d15d2b1c2b8de9cc" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13936, + "startColumn": 10, + "charOffset": 513553, + "charLength": 24, + "snippet": { + "text": "StateMap::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13934, + "startColumn": 1, + "charOffset": 513517, + "charLength": 200, + "snippet": { + "text": "\n int leaked_count = 0;\n for (StateMap::const_iterator it = states_.begin(); it != states_.end();\n ++it) {\n if (it->second.leakable) // The user said it's fine to leak this object." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "85b0bbf3e2caefe1", + "equalIndicator/v1": "6b4f8da85cfeeef27fbb2e1eaeb8be0c61a98317daebc43e3d8d4c80edf5a3f9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 557, + "startColumn": 8, + "charOffset": 17160, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 555, + "startColumn": 1, + "charOffset": 17125, + "charLength": 140, + "snippet": { + "text": " return ctx.begin();\n }\n auto format(enabled_formatter, format_context& ctx) const\n -> decltype(ctx.out()) {\n return ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3cf495a43fb9e440", + "equalIndicator/v1": "6b9a41deac4e0c53b09d2e9759e3f6d5070da173dbb67b8d11e2c03d458c9a25" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Prefer transparent functors 'less<>'", + "markdown": "Prefer transparent functors 'less\\<\\>'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9515, + "startColumn": 13, + "charOffset": 356005, + "charLength": 9, + "snippet": { + "text": "std::less" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9513, + "startColumn": 1, + "charOffset": 355909, + "charLength": 137, + "snippet": { + "text": "static void StackLowerThanAddress(const void* ptr, bool* result) {\n int dummy = 0;\n *result = std::less()(&dummy, ptr);\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aef1e14fe321b86a", + "equalIndicator/v1": "6d42c9cdef86ff19226cf8612a2cb521e8868da4a19e592978c014d48c0545df" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'read_fd' should be marked [[nodiscard]]", + "markdown": "Function 'read_fd' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8653, + "startColumn": 3, + "charOffset": 322632, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8651, + "startColumn": 1, + "charOffset": 322499, + "charLength": 264, + "snippet": { + "text": " DeathTestOutcome outcome() const { return outcome_; }\n void set_outcome(DeathTestOutcome an_outcome) { outcome_ = an_outcome; }\n int read_fd() const { return read_fd_; }\n void set_read_fd(int fd) { read_fd_ = fd; }\n int write_fd() const { return write_fd_; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a03ad4a24c497f97", + "equalIndicator/v1": "6e196fe8949664dace4c6bc9fabb740a663b8e18e719281198b32f45bf248e3e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a template cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a template cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 431, + "startColumn": 3, + "charOffset": 15458, + "charLength": 4, + "snippet": { + "text": "long" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 429, + "startColumn": 1, + "charOffset": 15366, + "charLength": 185, + "snippet": { + "text": " // fmt::printf allows passing long long arguments to %d without length\n // specifiers.\n long long max = max_value();\n EXPECT_PRINTF(fmt::format(\"{}\", max), \"%d\", max);\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6dedd91914803d47", + "equalIndicator/v1": "6e92a908a6003ce8e82a92ea67621b3613f9b61642d47ecb257b1188836884b2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'forwarding_enabled' should be marked [[nodiscard]]", + "markdown": "Function 'forwarding_enabled' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5251, + "startColumn": 3, + "charOffset": 195667, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5249, + "startColumn": 1, + "charOffset": 195554, + "charLength": 254, + "snippet": { + "text": " // Controls whether events will be forwarded to listeners_. Set to false\n // in death test child processes.\n bool forwarding_enabled() const { return forwarding_enabled_; }\n void set_forwarding_enabled(bool enable) { forwarding_enabled_ = enable; }\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8c69c303ec90a30c", + "equalIndicator/v1": "6ee26cfbc6d92735b7e1605e5df4fca7a3ff1c7f885353df8bf6d336d8d75e9f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13095, + "startColumn": 8, + "charOffset": 483998, + "charLength": 4, + "snippet": { + "text": "Iter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13093, + "startColumn": 1, + "charOffset": 483954, + "charLength": 163, + "snippet": { + "text": " os << \"{\";\n const char* sep = \"\";\n for (Iter it = pairs.begin(); it != pairs.end(); ++it) {\n os << sep << \"\\n (\"\n << \"element #\" << it->first << \", \"" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dcd46b66d58295cf", + "equalIndicator/v1": "6f76846c60977afda64f0357ca1abb125bd4b0f5b2b14a4f8503f66a796a4945" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'ctype.h'; consider using 'cctype' instead", + "markdown": "Inclusion of deprecated C++ header 'ctype.h'; consider using 'cctype' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 311, + "startColumn": 11, + "charOffset": 13625, + "charLength": 7, + "snippet": { + "text": "ctype.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 309, + "startColumn": 1, + "charOffset": 13565, + "charLength": 107, + "snippet": { + "text": "#endif // GOOGLETEST_INCLUDE_GTEST_GTEST_SPI_H_\n\n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df221fc0a379d8ff", + "equalIndicator/v1": "6f7f8b1ace74b9a68cae261bdf53693a81ceb1cbcb12742bd6155c9a2326ed6a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'write' can be made const", + "markdown": "Method 'write' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/os.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 277, + "startColumn": 19, + "charOffset": 7870, + "charLength": 5, + "snippet": { + "text": "write" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 275, + "startColumn": 1, + "charOffset": 7849, + "charLength": 171, + "snippet": { + "text": "}\n\nstd::size_t file::write(const void* buffer, std::size_t count) {\n rwresult result = 0;\n FMT_RETRY(result, FMT_POSIX_CALL(write(fd_, buffer, convert_rwcount(count))));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eeec0b4a3f5c938b", + "equalIndicator/v1": "706986d5f1e333da3637113344c8ff02197119f19fc50d7fa5e2bb06f35fea45" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Do not use static_cast to downcast from a base to a derived class", + "markdown": "Do not use static_cast to downcast from a base to a derived class" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/os.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 378, + "startColumn": 37, + "charOffset": 10846, + "charLength": 11, + "snippet": { + "text": "static_cast" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 376, + "startColumn": 1, + "charOffset": 10761, + "charLength": 123, + "snippet": { + "text": "\nvoid ostream::grow(buffer& buf, size_t) {\n if (buf.size() == buf.capacity()) static_cast(buf).flush();\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "35f78febbc6a3afe", + "equalIndicator/v1": "70ea14ce521bf27533f96f97a7ebe58f10dc84fd468d43c70304db8afc75b051" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant get() call on smart pointer", + "markdown": "Redundant get() call on smart pointer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7261, + "startColumn": 8, + "charOffset": 271389, + "charLength": 29, + "snippet": { + "text": "internal_run_death_test_flag_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7259, + "startColumn": 1, + "charOffset": 271324, + "charLength": 201, + "snippet": { + "text": "#if GTEST_HAS_DEATH_TEST\n in_subprocess_for_death_test =\n (internal_run_death_test_flag_.get() != nullptr);\n# if defined(GTEST_EXTRA_DEATH_TEST_CHILD_SETUP_)\n if (in_subprocess_for_death_test) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90f867402e07f0f3", + "equalIndicator/v1": "71148d0cb07ea24d796e3215190fe66a58070b6e73991f21e4dcc2b353e65ca4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12189, + "startColumn": 9, + "charOffset": 448703, + "charLength": 8, + "snippet": { + "text": "unsigned" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12187, + "startColumn": 1, + "charOffset": 448643, + "charLength": 161, + "snippet": { + "text": "\nbool IsValidUTF8(const char* str, size_t length) {\n const unsigned char *s = reinterpret_cast(str);\n\n for (size_t i = 0; i < length;) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a24be7ef8a77af4", + "equalIndicator/v1": "713531545e250adee4fa3f8b66e0a8b1139688aa96a3188da6dee94506c4826e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13308, + "startColumn": 7, + "charOffset": 490803, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13306, + "startColumn": 1, + "charOffset": 490725, + "charLength": 261, + "snippet": { + "text": " if (listener->IsInterested()) {\n const char* sep = \"where:\\n\";\n for (size_t mi = 0; mi < matches.size(); ++mi) {\n *listener << sep << \" - element #\" << matches[mi].first\n << \" is matched by matcher #\" << matches[mi].second;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ac052ce8d7a5b36", + "equalIndicator/v1": "7161ec5c6cdcee3637b5fe97a88e68e1706ca248e9d28c26d1a0a44f3cd2040e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator const int *' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator const int \\*' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 602, + "startColumn": 3, + "charOffset": 18320, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 600, + "startColumn": 1, + "charOffset": 18285, + "charLength": 86, + "snippet": { + "text": "\nstruct convertible_to_pointer {\n operator const int*() const { return nullptr; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "15747b195ef93eed", + "equalIndicator/v1": "71934507368122529ef8fa8748dcb89ad86e733979da4a3f02bcd277d6228750" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 753, + "startColumn": 3, + "charOffset": 23623, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 751, + "startColumn": 1, + "charOffset": 23495, + "charLength": 223, + "snippet": { + "text": " // Types explicitly convertible to string_view are not formattable by\n // default because it may introduce ODR violations.\n static_assert(\n !fmt::is_formattable::value, \"\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d58d7861502e5bf6", + "equalIndicator/v1": "71e3fa801bcc872782e3fb5e000ee6a427ccc1e7347a9fe97dabea23ad98f840" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6002, + "startColumn": 3, + "charOffset": 225060, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6000, + "startColumn": 1, + "charOffset": 225044, + "charLength": 103, + "snippet": { + "text": " Message m;\n\n for (size_t i = 0; i < str.size(); ++i) {\n const char ch = str[i];\n switch (ch) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0624304ece12b260", + "equalIndicator/v1": "7212f51f6896deae49616d9bc5f0d1ecd5684789ccd403f082704a144f5a75b2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator int' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator int' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2459, + "startColumn": 3, + "charOffset": 96034, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2457, + "startColumn": 1, + "charOffset": 96003, + "charLength": 70, + "snippet": { + "text": "\nstruct convertible_to_int {\n operator int() const { return 42; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "94d55ff98240db8a", + "equalIndicator/v1": "72ef7131e9840e885e95ee7af692ee48373ed2b43adf9f875206dee7d9763a99" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 567, + "startColumn": 8, + "charOffset": 17445, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 565, + "startColumn": 1, + "charOffset": 17410, + "charLength": 145, + "snippet": { + "text": " return ctx.begin();\n }\n auto format(enabled_ptr_formatter*, format_context& ctx) const\n -> decltype(ctx.out()) {\n return ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "be0c57302a69c2df", + "equalIndicator/v1": "7446a9d899339a27f4b72a98974de4d34ecc2a91cb8db4bb81162f575dfd986b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4208, + "startColumn": 20, + "charOffset": 157682, + "charLength": 22, + "snippet": { + "text": "internal::CodeLocation" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4206, + "startColumn": 1, + "charOffset": 157545, + "charLength": 285, + "snippet": { + "text": " const std::string& a_name, const char* a_type_param,\n const char* a_value_param,\n internal::CodeLocation a_code_location,\n internal::TypeId fixture_class_id,\n internal::TestFactoryBase* factory)" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ecb201ae99a7c1e", + "equalIndicator/v1": "74566013acb5290738e5dbf5b7b60833630e9f2e2752ae83155be4f78b5783d8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'test_suite_to_run_count' should be marked [[nodiscard]]", + "markdown": "Function 'test_suite_to_run_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 937, + "startColumn": 3, + "charOffset": 36829, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 935, + "startColumn": 1, + "charOffset": 36734, + "charLength": 174, + "snippet": { + "text": " // Gets the number of all test suites that contain at least one test\n // that should run.\n int test_suite_to_run_count() const;\n\n // Gets the number of successful tests." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2217045eb89f9a60", + "equalIndicator/v1": "74707ba0fa08752647fcad518da3236966a4215904aace9ace6906135a3a4439" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Modification of 'std' namespace can result in undefined behavior", + "markdown": "Modification of 'std' namespace can result in undefined behavior" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/scan-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 114, + "startColumn": 12, + "charOffset": 3173, + "charLength": 4, + "snippet": { + "text": "scan" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 112, + "startColumn": 1, + "charOffset": 3145, + "charLength": 76, + "snippet": { + "text": "\nnamespace std {\nusing fmt::scan;\nusing fmt::scan_error;\n} // namespace std" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0271a5d4b83ff530", + "equalIndicator/v1": "747710f9a6fec4c1824540f402b714f9c9372d76c734ac6682dd7c7dceb9041b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 8, + "charOffset": 1052, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 981, + "charLength": 158, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b93713e18ac2e7a3", + "equalIndicator/v1": "74d21ac1d1d483af81a2869d340f6ae5d4f5763d8f8b3d93b7b251319572e551" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'fscanf' used to convert a string to an integer value, but function will not report conversion errors; consider using 'strtol' instead", + "markdown": "'fscanf' used to convert a string to an integer value, but function will not report conversion errors; consider using 'strtol' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1843, + "startColumn": 18, + "charOffset": 76813, + "charLength": 6, + "snippet": { + "text": "fscanf" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1841, + "startColumn": 1, + "charOffset": 76752, + "charLength": 134, + "snippet": { + "text": " std::thread reader([&]() {\n int n = 0;\n int result = fscanf(read_end.get(), \"%d\", &n);\n (void)result;\n EXPECT_EQ(n, 42);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "22ffbd99b85aa9eb", + "equalIndicator/v1": "75b83116c6303f453d4b31c909dfe31d6daf43ca63c09d811518c0ad99a3c4bc" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 302, + "startColumn": 1, + "charOffset": 11246, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 300, + "startColumn": 1, + "charOffset": 11243, + "charLength": 86, + "snippet": { + "text": "}\n\nnamespace my_ns1 {\nnamespace my_ns2 {\nstruct my_exception : public std::exception {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "88a37c3bd5ab4a12", + "equalIndicator/v1": "7623d4d5d57303342e802c2f87860978c843a4a6fb69463accf116ead5e51034" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'begin' should be marked [[nodiscard]]", + "markdown": "Function 'begin' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 590, + "startColumn": 3, + "charOffset": 18537, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 588, + "startColumn": 1, + "charOffset": 18526, + "charLength": 141, + "snippet": { + "text": " R* r;\n\n auto begin() const -> decltype(r->begin()) { return r->begin(); }\n auto end() const -> decltype(r->end()) { return r->end(); }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "35a42023395b4425", + "equalIndicator/v1": "77024e6f4f0d716f039c03831321995c541b51e2e035bd40d4de4ce3e99be680" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'wctype.h'; consider using 'cwctype' instead", + "markdown": "Inclusion of deprecated C++ header 'wctype.h'; consider using 'cwctype' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 317, + "startColumn": 11, + "charOffset": 13740, + "charLength": 8, + "snippet": { + "text": "wctype.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 315, + "startColumn": 1, + "charOffset": 13693, + "charLength": 78, + "snippet": { + "text": "#include \n#include \n#include \n\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c976d82a87c6662", + "equalIndicator/v1": "77c127489649730bc3a851ba19bf45defba3ac83905264f0571796905b3bce33" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 3, + "charOffset": 3157, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3119, + "charLength": 104, + "snippet": { + "text": "\nTEST(xchar_test, is_formattable) {\n static_assert(!fmt::is_formattable::value, \"\");\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91e483b7a474b996", + "equalIndicator/v1": "78540590ad4e51a55c3e0fa130484b86f27cac804adae0a976153244da8c4e28" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'signed char' to 'long long' conversion; consider casting to 'unsigned char' first.", + "markdown": "'signed char' to 'long long' conversion; consider casting to 'unsigned char' first." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 353, + "startColumn": 20, + "charOffset": 12296, + "charLength": 11, + "snippet": { + "text": "static_cast" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 351, + "startColumn": 1, + "charOffset": 12192, + "charLength": 237, + "snippet": { + "text": " static_cast::type>(value));\n } else {\n signed_value = static_cast::type>(value);\n unsigned_value = static_cast::type>(value);\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a361c912fcb5dbcf", + "equalIndicator/v1": "7ac4c587e55ea1a8b4d2f58cd01d3063171cd2fb6de0e58c48c4e66c62308e08" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object", + "markdown": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12461, + "startColumn": 7, + "charOffset": 458447, + "charLength": 10, + "snippet": { + "text": "errors_str" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12459, + "startColumn": 1, + "charOffset": 458386, + "charLength": 182, + "snippet": { + "text": "\n const std::string& errors_str = errors.GetString();\n if (errors_str != \"\") {\n fprintf(stderr, \"%s %s\", FormatFileLocation(file, line).c_str(),\n errors_str.c_str());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b40c04dfc31cdec4", + "equalIndicator/v1": "7b5c914cd4d85d1f8375858fad6b62e71fb30ec585a4abf88731872e1f7952e2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 498, + "startColumn": 3, + "charOffset": 15175, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 496, + "startColumn": 1, + "charOffset": 15033, + "charLength": 335, + "snippet": { + "text": " static_assert(parse_test_specs(\"+\").sign() == fmt::sign::plus, \"\");\n static_assert(parse_test_specs(\"-\").sign() == fmt::sign::none, \"\");\n static_assert(parse_test_specs(\" \").sign() == fmt::sign::space, \"\");\n static_assert(parse_test_specs(\"#\").alt(), \"\");\n static_assert(parse_test_specs(\"0\").align() == fmt::align::numeric, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc8d183229ef42c0", + "equalIndicator/v1": "7b7936ed76b6f7b280b74a3dde4339fae16b115e48027d960ce8ae7abd6c55f2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 3, + "charOffset": 2403, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 2274, + "charLength": 225, + "snippet": { + "text": " // Types explicitly convertible to wstring_view are not formattable by\n // default because it may introduce ODR violations.\n static_assert(\n !fmt::is_formattable::value, \"\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9c5ac557e15abe3c", + "equalIndicator/v1": "7bdf7f78476c1a5dbdb6c89b210c9c777238fdc0176322301efb1d3160b6d7ca" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9929, + "startColumn": 1, + "charOffset": 371947, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9927, + "startColumn": 1, + "charOffset": 371918, + "charLength": 70, + "snippet": { + "text": "#endif // GTEST_OS_WINDOWS\n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ad96c3b4c401b3af", + "equalIndicator/v1": "7d0acfd3cb7f5fe02a28e25c2b04f81a5fe5bcd29a05737eed1bc296c71adb73" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 318, + "startColumn": 12, + "charOffset": 9540, + "charLength": 11, + "snippet": { + "text": "test_result" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 316, + "startColumn": 1, + "charOffset": 9451, + "charLength": 110, + "snippet": { + "text": " template auto operator()(U) -> test_result {\n unexpected();\n return test_result();\n }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9c347ad8eb7090a2", + "equalIndicator/v1": "7d47d9288bcb3f5acc3d09a35e56b1df5aba84ceeb761a21cf5dbd8bbb442b32" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsTearDownStart' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsTearDownStart' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5271, + "startColumn": 8, + "charOffset": 196784, + "charLength": 27, + "snippet": { + "text": "OnEnvironmentsTearDownStart" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5269, + "startColumn": 1, + "charOffset": 196671, + "charLength": 325, + "snippet": { + "text": "#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_\n void OnTestSuiteEnd(const TestSuite& parameter) override;\n void OnEnvironmentsTearDownStart(const UnitTest& unit_test) override;\n void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) override;\n void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b22dec493c5c4922", + "equalIndicator/v1": "7dc0211b231802e5f8d5e4a7576fd6c9bec55ac9c93d80e24df16810813f7716" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1882, + "startColumn": 8, + "charOffset": 77740, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1880, + "startColumn": 1, + "charOffset": 77728, + "charLength": 146, + "snippet": { + "text": " }\n\n auto format(const deadlockable& d, format_context& ctx) const\n -> decltype(ctx.out()) {\n std::lock_guard lock(d.mutex);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e2d98f133d84d6af", + "equalIndicator/v1": "7e0e47efbdd3fb01eba4a694fdd950e08c4b3fceda4d88453c6bcc35d52ecb90" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial default constructor", + "markdown": "Use '= default' to define a trivial default constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5140, + "startColumn": 3, + "charOffset": 191381, + "charLength": 26, + "snippet": { + "text": "BriefUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5138, + "startColumn": 1, + "charOffset": 191308, + "charLength": 215, + "snippet": { + "text": "class BriefUnitTestResultPrinter : public TestEventListener {\n public:\n BriefUnitTestResultPrinter() {}\n static void PrintTestName(const char* test_suite, const char* test) {\n printf(\"%s.%s\", test_suite, test);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c588fba7dc08cea", + "equalIndicator/v1": "7e6f196119117aa34f3d27e314377eb38cb571b99747111b77c8e15517cb17ec" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead", + "markdown": "Inclusion of deprecated C++ header 'stdint.h'; consider using 'cstdint' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 11, + "charOffset": 375, + "charLength": 8, + "snippet": { + "text": "stdint.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 345, + "charLength": 121, + "snippet": { + "text": "// clang-format on\n\n#include // uint32_t\n\n#include // fegetexceptflag and FE_ALL_EXCEPT" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5d77d428d4d1c0e4", + "equalIndicator/v1": "7f1d87fb25ec8bf0e87aa6e0da8b7f8b7263581c0005250e75c41e667e2b262b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead", + "markdown": "Inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8286, + "startColumn": 13, + "charOffset": 309835, + "charLength": 8, + "snippet": { + "text": "signal.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8284, + "startColumn": 1, + "charOffset": 309802, + "charLength": 70, + "snippet": { + "text": "\n# if GTEST_OS_LINUX\n# include \n# endif // GTEST_OS_LINUX\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d15e9e8acdf9d93e", + "equalIndicator/v1": "7f6dee062cca3919bde72a6a76191584eb9abe595df28a0ca0a773031920bb3c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2390, + "startColumn": 44, + "charOffset": 92212, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2388, + "startColumn": 1, + "charOffset": 92020, + "charLength": 276, + "snippet": { + "text": "SingleFailureChecker::SingleFailureChecker(const TestPartResultArray* results,\n TestPartResult::Type type,\n const std::string& substr)\n : results_(results), type_(type), substr_(substr) {}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b4efff3075fc56c4", + "equalIndicator/v1": "806c2b5df4226f6544f5ad35f4c0e32e7f4a861f8deb2e5eaa94eb715d19a4fb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'end' should be marked [[nodiscard]]", + "markdown": "Function 'end' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 591, + "startColumn": 3, + "charOffset": 18605, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 589, + "startColumn": 1, + "charOffset": 18534, + "charLength": 134, + "snippet": { + "text": "\n auto begin() const -> decltype(r->begin()) { return r->begin(); }\n auto end() const -> decltype(r->end()) { return r->end(); }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fe297ed0192ccfe", + "equalIndicator/v1": "8087d0dc3f0f75cd0f891de5047e7df51293c38eecb85e84619f14c35222659f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2471, + "startColumn": 8, + "charOffset": 96346, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2469, + "startColumn": 1, + "charOffset": 96311, + "charLength": 145, + "snippet": { + "text": " return ctx.begin();\n }\n auto format(convertible_to_int, format_context& ctx) const\n -> decltype(ctx.out()) {\n auto out = ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8476734ea147cd75", + "equalIndicator/v1": "829ff36a174301582b737fdc11ce69c8bafde5784e6c32626b4b30fe31fd8e24" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9437, + "startColumn": 10, + "charOffset": 352754, + "charLength": 8, + "snippet": { + "text": "typename" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9435, + "startColumn": 1, + "charOffset": 352660, + "charLength": 207, + "snippet": { + "text": " template \n void AddArguments(const ::std::vector& arguments) {\n for (typename ::std::vector::const_iterator i = arguments.begin();\n i != arguments.end();\n ++i) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a54f2b7a4d068741", + "equalIndicator/v1": "82fdac2b923ebcc1590b4e402e06fc33b17b8c9b875bf554b8d2e4ac3ed4edea" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5352, + "startColumn": 5, + "charOffset": 199971, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5350, + "startColumn": 1, + "charOffset": 199876, + "charLength": 214, + "snippet": { + "text": " int iteration) {\n if (forwarding_enabled_) {\n for (size_t i = 0; i < listeners_.size(); i++) {\n listeners_[i]->OnTestIterationStart(unit_test, iteration);\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d5632fc68b705a1a", + "equalIndicator/v1": "8325deab6a545a6528a9e79477efefdcd672c97af0ce2397af55dab8c4d7d905" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'buffer' used after it was moved", + "markdown": "'buffer' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 352, + "startColumn": 14, + "charOffset": 11082, + "charLength": 6, + "snippet": { + "text": "buffer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 350, + "startColumn": 1, + "charOffset": 10944, + "charLength": 263, + "snippet": { + "text": " basic_memory_buffer buffer2(std::move(buffer));\n // Move should rip the guts of the first buffer.\n EXPECT_EQ(&buffer[0], inline_buffer_ptr);\n EXPECT_EQ(buffer.size(), 0);\n EXPECT_EQ(std::string(&buffer2[0], buffer2.size()), \"testa\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "79379c041a06e61b", + "equalIndicator/v1": "8381f7ac1ddadfc20974ef3063b88bfa37aa0fbed8b2613aadef8c7ee3ba5266" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Uninitialized record type: 'hints'", + "markdown": "Uninitialized record type: 'hints'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6387, + "startColumn": 3, + "charOffset": 238939, + "charLength": 8, + "snippet": { + "text": "addrinfo" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6385, + "startColumn": 1, + "charOffset": 238855, + "charLength": 211, + "snippet": { + "text": " << \"MakeConnection() can't be called when there is already a connection.\";\n\n addrinfo hints;\n memset(&hints, 0, sizeof(hints));\n hints.ai_family = AF_UNSPEC; // To allow both IPv4 and IPv6 addresses." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e897ba56426540c5", + "equalIndicator/v1": "838c214052435f12877ee44770d4c44082f20427e06b66db89cf74d91b0a0d69" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 3, + "charOffset": 928, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 888, + "charLength": 113, + "snippet": { + "text": "\nTEST(string_view_test, value_type) {\n static_assert(std::is_same::value, \"\");\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61f3b67217105ff9", + "equalIndicator/v1": "841d97987c2256a15f17f7bf256d6b5d19e5b041f88feb456e8d064c66bfa9f1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'successful_test_suite_count' should be marked [[nodiscard]]", + "markdown": "Function 'successful_test_suite_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 927, + "startColumn": 3, + "charOffset": 36528, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 925, + "startColumn": 1, + "charOffset": 36477, + "charLength": 136, + "snippet": { + "text": "\n // Gets the number of successful test suites.\n int successful_test_suite_count() const;\n\n // Gets the number of failed test suites." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d6f78312eca75e27", + "equalIndicator/v1": "88b550a50c70a4fc0b60a652bd439fe6dd9d3b6d95d7ec603a721f5c3013a030" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial default constructor", + "markdown": "Use '= default' to define a trivial default constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 153, + "startColumn": 3, + "charOffset": 4167, + "charLength": 14, + "snippet": { + "text": "copy_throwable" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 151, + "startColumn": 1, + "charOffset": 4140, + "charLength": 115, + "snippet": { + "text": "\nstruct copy_throwable {\n copy_throwable() {}\n copy_throwable(const copy_throwable&) { throw \"deal with it\"; }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3f6f3144a7542330", + "equalIndicator/v1": "893d22d771dc370e67570c165f7592e584054cd43f95320824fdd5fed5e6ebbf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'buffer' used after it was moved", + "markdown": "'buffer' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 322, + "startColumn": 37, + "charOffset": 9831, + "charLength": 6, + "snippet": { + "text": "buffer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 320, + "startColumn": 1, + "charOffset": 9641, + "charLength": 326, + "snippet": { + "text": " basic_memory_buffer buffer2(std::move(buffer));\n // Move shouldn't destroy the inline content of the first buffer.\n EXPECT_EQ(str, std::string(&buffer[0], buffer.size()));\n EXPECT_EQ(str, std::string(&buffer2[0], buffer2.size()));\n EXPECT_EQ(5u, buffer2.capacity());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c17c813456c6100f", + "equalIndicator/v1": "8987578ed614b23a20845c190632a1bafe9db004ac8931e72864fddffc14bdf0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator double' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator double' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 289, + "startColumn": 3, + "charOffset": 8860, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 287, + "startColumn": 1, + "charOffset": 8827, + "charLength": 153, + "snippet": { + "text": " : a(a_val), b(b_val) {}\n\n operator double() const { return a + b; }\n auto operator-() const -> double_double { return double_double(-a, -b); }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f1048fc41c869d57", + "equalIndicator/v1": "8a5235ba3c6c5ca1f6105ae6d1b9febf3b9913be5ee8ebc1d6af624ee27465a3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pointer parameter 'p' can be pointer to const", + "markdown": "Pointer parameter 'p' can be pointer to const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 400, + "startColumn": 26, + "charOffset": 14177, + "charLength": 1, + "snippet": { + "text": "p" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 398, + "startColumn": 1, + "charOffset": 14080, + "charLength": 181, + "snippet": { + "text": " fmt::format(\"{}\", fmt::ptr(up)));\n struct custom_deleter {\n void operator()(int* p) const { delete p; }\n };\n std::unique_ptr upcd(new int(1));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f872b7b56e7ce80e", + "equalIndicator/v1": "8b113c0a5c2298aba3f8fa88bd286f98bd80b4bf0190292bbd451a90462ca045" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'random_seed' should be marked [[nodiscard]]", + "markdown": "Function 'random_seed' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1217, + "startColumn": 3, + "charOffset": 48320, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1215, + "startColumn": 1, + "charOffset": 48242, + "charLength": 166, + "snippet": { + "text": "\n // Gets the random seed used at the start of the current test iteration.\n int random_seed() const { return random_seed_; }\n\n // Gets the random number generator." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb5f40cd2b5eb16e", + "equalIndicator/v1": "8c6d96e2d2eabc3731c123b3ceb530de5f7e056da7bc940a7a65ac3402b679b3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'signed char' to 'unsigned long long' conversion; consider casting to 'unsigned char' first.", + "markdown": "'signed char' to 'unsigned long long' conversion; consider casting to 'unsigned char' first." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 346, + "startColumn": 54, + "charOffset": 12015, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 344, + "startColumn": 1, + "charOffset": 11855, + "charLength": 232, + "snippet": { + "text": " } else if (const_check(max <= max_value())) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(value);\n }\n if (sizeof(U) <= sizeof(int) && sizeof(int) < sizeof(T)) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90e5b3a88c4c4c20", + "equalIndicator/v1": "8d6dc69aa52b39dad6a000c66cc5a2fd7f2cbab0de5663a97df7fcf26a1ef6bb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2800, + "startColumn": 5, + "charOffset": 106270, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2798, + "startColumn": 1, + "charOffset": 106228, + "charLength": 145, + "snippet": { + "text": " {\n InternalStrings intern_table;\n for (size_t i = 0; i < left.size(); ++i) {\n left_ids.push_back(intern_table.GetId(left[i]));\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b59e69d9781a08cc", + "equalIndicator/v1": "8de784ad846b419ebb278a958166570c8709e197554e1b374fc29cf5ed2929bd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stddef.h'; consider using 'cstddef' instead", + "markdown": "Inclusion of deprecated C++ header 'stddef.h'; consider using 'cstddef' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 431, + "startColumn": 11, + "charOffset": 17274, + "charLength": 8, + "snippet": { + "text": "stddef.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 429, + "startColumn": 1, + "charOffset": 17221, + "charLength": 159, + "snippet": { + "text": "# include \n#endif // !_WIN32_WCE\n#include \n#include // For strtoll/_strtoul64/malloc/free.\n#include // For memmove." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "01005f3c0cd3d7e1", + "equalIndicator/v1": "8e1a7b88a6410b7f5d7ebfad469a47f17bf71d95873c97e88d02a1dd6963a516" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2468, + "startColumn": 22, + "charOffset": 96251, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2466, + "startColumn": 1, + "charOffset": 96159, + "charLength": 179, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d05dec9803d6edf6", + "equalIndicator/v1": "8e6c3274870a41d150f6c00ea3af96f4a5b9bff9577e6a30b33f2fcbda43c394" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of 'size'", + "markdown": "The 'empty' method should be used to check for emptiness instead of 'size'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6782, + "startColumn": 7, + "charOffset": 252208, + "charLength": 5, + "snippet": { + "text": "impl_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6780, + "startColumn": 1, + "charOffset": 252164, + "charLength": 130, + "snippet": { + "text": "\n internal::MutexLock lock(&mutex_);\n if (impl_->gtest_trace_stack().size() > 0) {\n msg << \"\\n\" << GTEST_NAME_ << \" trace:\";\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2fdf013b6272dcc7", + "equalIndicator/v1": "8eba39fcda74f2c43b08c0e08831c8a4441d47aa72877102ed429d3b7ac3a69c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'buffer' used after it was moved", + "markdown": "'buffer' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 363, + "startColumn": 31, + "charOffset": 11534, + "charLength": 6, + "snippet": { + "text": "buffer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 361, + "startColumn": 1, + "charOffset": 11405, + "charLength": 253, + "snippet": { + "text": " buffer2 = std::move(buffer);\n // Move shouldn't destroy the inline content of the first buffer.\n EXPECT_EQ(str, std::string(&buffer[0], buffer.size()));\n EXPECT_EQ(str, std::string(&buffer2[0], buffer2.size()));\n EXPECT_EQ(5u, buffer2.capacity());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "40d900306357128e", + "equalIndicator/v1": "8f6d72ded7036de866fec5577d1572907efabb19439423f3e3602f1e2a8e3f4d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion", + "markdown": "Either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9589, + "startColumn": 29, + "charOffset": 359090, + "charLength": 11, + "snippet": { + "text": "static_cast" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9587, + "startColumn": 1, + "charOffset": 358984, + "charLength": 292, + "snippet": { + "text": " if (!use_fork) {\n static const bool stack_grows_down = StackGrowsDown();\n const auto stack_size = static_cast(getpagesize() * 2);\n // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.\n void* const stack = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "796964ce71eb5ed5", + "equalIndicator/v1": "8fd979f8b47e8b9e4cad03cfcb3d3b6e4c2e449cb06d299b49d53cbb2aae33fb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead", + "markdown": "Inclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 433, + "startColumn": 11, + "charOffset": 17354, + "charLength": 8, + "snippet": { + "text": "string.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 431, + "startColumn": 1, + "charOffset": 17264, + "charLength": 138, + "snippet": { + "text": "#include \n#include // For strtoll/_strtoul64/malloc/free.\n#include // For memmove.\n\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f512bbbc0732b251", + "equalIndicator/v1": "9052f7f31368ace7751b56579b000d17d5aa6b62ef34dc340a91c84ed9aaa191" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constness of 'user_msg_string' prevents automatic move", + "markdown": "Constness of 'user_msg_string' prevents automatic move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3682, + "startColumn": 12, + "charOffset": 138210, + "charLength": 15, + "snippet": { + "text": "user_msg_string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3680, + "startColumn": 1, + "charOffset": 138168, + "charLength": 107, + "snippet": { + "text": " }\n if (gtest_msg.empty()) {\n return user_msg_string;\n }\n return gtest_msg + \"\\n\" + user_msg_string;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d0c3cddff47425a", + "equalIndicator/v1": "9089f94d9e325eaae4c0cdfb5b77b4fd4fcf8d9f476791a6c8a70e441897b172" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'ConservativeLowerBound' should be marked [[nodiscard]]", + "markdown": "Function 'ConservativeLowerBound' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12583, + "startColumn": 3, + "charOffset": 463363, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12581, + "startColumn": 1, + "charOffset": 463272, + "charLength": 215, + "snippet": { + "text": " // Conservative estimate on the lower/upper bound of the number of\n // calls allowed.\n int ConservativeLowerBound() const override { return min_; }\n int ConservativeUpperBound() const override { return max_; }\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5392af4d64dd388", + "equalIndicator/v1": "90e0a41fcc6707e163df12f450758414240a63d3a0c2bdd95148e511b93ba45c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The parameter 'location' is copied for each invocation but only used as a const reference; consider making it a const reference", + "markdown": "The parameter 'location' is copied for each invocation but only used as a const reference; consider making it a const reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1960, + "startColumn": 68, + "charOffset": 75596, + "charLength": 8, + "snippet": { + "text": "location" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1958, + "startColumn": 1, + "charOffset": 75395, + "charLength": 320, + "snippet": { + "text": "// If this parameterized test suite has no instantiations (and that\n// has not been marked as okay), emit a test case reporting that.\nvoid InsertSyntheticTestCase(const std::string& name, CodeLocation location,\n bool has_test_p) {\n const auto& ignored = *GetIgnoredParameterizedTestSuites();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ccbc70d47ebf8b82", + "equalIndicator/v1": "9108b80b0ddf61b1d2bb01206eaf5fa3ca5a445b644e774f36bea52bfc82d2db" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14178, + "startColumn": 8, + "charOffset": 523259, + "charLength": 31, + "snippet": { + "text": "FunctionMockers::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14176, + "startColumn": 1, + "charOffset": 523157, + "charLength": 231, + "snippet": { + "text": " FunctionMockers& mockers =\n g_mock_object_registry.states()[mock_obj].function_mockers;\n for (FunctionMockers::const_iterator it = mockers.begin();\n it != mockers.end(); ++it) {\n (*it)->ClearDefaultActionsLocked();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0b8debb52c52f75a", + "equalIndicator/v1": "913a694261912271070761a22b590963cb66b400c33229dc8939ad482dda96db" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12848, + "startColumn": 58, + "charOffset": 472693, + "charLength": 15, + "snippet": { + "text": "WithoutMatchers" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12846, + "startColumn": 1, + "charOffset": 472633, + "charLength": 144, + "snippet": { + "text": "}\n\nGTEST_API_ WithoutMatchers GetWithoutMatchers() { return WithoutMatchers(); }\n\nGTEST_API_ void IllegalDoDefault(const char* file, int line) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0269001119900080", + "equalIndicator/v1": "91c118dd22dc94ca11cc651445610985df66a24d333be43090b4ad41ce67a197" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'on_arg_id' can be made static", + "markdown": "Method 'on_arg_id' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 513, + "startColumn": 18, + "charOffset": 15898, + "charLength": 9, + "snippet": { + "text": "on_arg_id" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 511, + "startColumn": 1, + "charOffset": 15826, + "charLength": 178, + "snippet": { + "text": " constexpr void on_text(const char*, const char*) {}\n\n constexpr auto on_arg_id() -> int { return 0; }\n\n template constexpr auto on_arg_id(T) -> int { return 0; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fbb8e6085d995dbf", + "equalIndicator/v1": "920e072c8999ac6d3d9e913941631c57468fd2e1635a0de222a24fe343129c39" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2846, + "startColumn": 10, + "charOffset": 107485, + "charLength": 9, + "snippet": { + "text": "std::list" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2844, + "startColumn": 1, + "charOffset": 107437, + "charLength": 173, + "snippet": { + "text": " PrintHeader(os);\n FlushEdits();\n for (std::list >::const_iterator it =\n hunk_.begin();\n it != hunk_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb03b38153b7748e", + "equalIndicator/v1": "9332dd645eba77237b418f6a8bcc12c3a44bc5a832aa4b4712eb1064fda671a7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies", + "markdown": "Parameter 'code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2018, + "startColumn": 49, + "charOffset": 78165, + "charLength": 13, + "snippet": { + "text": "code_location" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2016, + "startColumn": 1, + "charOffset": 78006, + "charLength": 178, + "snippet": { + "text": " const char* test_suite_name, CodeLocation code_location) {\n suites_.emplace(std::string(test_suite_name),\n TypeParameterizedTestSuiteInfo(code_location));\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "03a2778e65d55d39", + "equalIndicator/v1": "95362e618fa5789ecf89e4163f2235cfc765a786aa5f3ddb49bc8529f474b87e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 228, + "startColumn": 5, + "charOffset": 7268, + "charLength": 16, + "snippet": { + "text": "EXPECT_THROW_MSG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 226, + "startColumn": 1, + "charOffset": 7153, + "charLength": 208, + "snippet": { + "text": "TEST(gtest_extra_test, expect_throw_behaves_like_single_statement) {\n if (::testing::internal::AlwaysFalse())\n EXPECT_THROW_MSG(do_nothing(), std::exception, \"\");\n\n if (::testing::internal::AlwaysTrue())" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "13fc2b22d76ec037", + "equalIndicator/v1": "959b1ffbcf7e044a71ff83d44449bb4ea655097231336743a2344eb461873f66" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 206, + "startColumn": 3, + "charOffset": 6300, + "charLength": 16, + "snippet": { + "text": "EXPECT_THROW_MSG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 204, + "startColumn": 1, + "charOffset": 6259, + "charLength": 252, + "snippet": { + "text": " (void)n;\n using std::runtime_error;\n EXPECT_THROW_MSG(throw runtime_error(\"\"), runtime_error, \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(n++, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(throw 1, runtime_error, \"\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3de11c5b370a61be", + "equalIndicator/v1": "96ca61260243b87cebce51d6b23c10df5443afb802953cf17415bab21b3be11a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use emplace_back instead of push_back", + "markdown": "Use emplace_back instead of push_back" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 268, + "startColumn": 13, + "charOffset": 9000, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 266, + "startColumn": 1, + "charOffset": 8923, + "charLength": 149, + "snippet": { + "text": " L\"%I\", L\"%M\", L\"%S\", L\"%x\", L\"%X\", L\"%p\"};\n#endif\n spec_list.push_back(L\"%Y-%m-%d %H:%M:%S\");\n\n for (const auto& spec : spec_list) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "969a0d467bc1c87e", + "equalIndicator/v1": "979fe1a77e2ca1f243f027f093a0a2def5b1cc7e25bb0f0faea8fd83c4ba57eb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'test_to_run_count' should be marked [[nodiscard]]", + "markdown": "Function 'test_to_run_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 961, + "startColumn": 3, + "charOffset": 37514, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 959, + "startColumn": 1, + "charOffset": 37464, + "charLength": 155, + "snippet": { + "text": "\n // Gets the number of tests that should run.\n int test_to_run_count() const;\n\n // Gets the time of the test program start, in ms from the start of the" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "47ea11049b896794", + "equalIndicator/v1": "97a819e9cd4569e24e1fb347b3d1b05890a26c28155867048dbc538b459c928c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'catch_exceptions' should be marked [[nodiscard]]", + "markdown": "Function 'catch_exceptions' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1231, + "startColumn": 3, + "charOffset": 48815, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1229, + "startColumn": 1, + "charOffset": 48715, + "charLength": 170, + "snippet": { + "text": " // Returns the value of GTEST_FLAG(catch_exceptions) at the moment\n // UnitTest::Run() starts.\n bool catch_exceptions() const { return catch_exceptions_; }\n\n private:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd93b5122f84e5be", + "equalIndicator/v1": "97f49f86aa3196323c71adb152a596c69e549a49190c5cf1e72d00afb62ec79a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'buffer' used after it was moved", + "markdown": "'buffer' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 384, + "startColumn": 33, + "charOffset": 12360, + "charLength": 6, + "snippet": { + "text": "buffer" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 382, + "startColumn": 1, + "charOffset": 12246, + "charLength": 227, + "snippet": { + "text": " buffer2 = std::move(buffer);\n // Move should rip the guts of the first buffer.\n EXPECT_EQ(inline_buffer_ptr, &buffer[0]);\n EXPECT_EQ(\"testab\", std::string(&buffer2[0], buffer2.size()));\n EXPECT_GT(buffer2.capacity(), 5u);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "13c6a1a9f6beabe2", + "equalIndicator/v1": "985cce275310b64cdd78eead1c766c3e8f2a85dbb2a98900dc1367460f3b13fa" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use emplace_back instead of push_back", + "markdown": "Use emplace_back instead of push_back" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2830, + "startColumn": 15, + "charOffset": 107122, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2828, + "startColumn": 1, + "charOffset": 107067, + "charLength": 123, + "snippet": { + "text": " ++common_;\n FlushEdits();\n hunk_.push_back(std::make_pair(' ', line));\n break;\n case '-':" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f36224b06976cc00", + "equalIndicator/v1": "98d536465b34a951152b607a98a141cf03e259a09359fbbf267ef70cbf300bcd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3917, + "startColumn": 7, + "charOffset": 146134, + "charLength": 5, + "snippet": { + "text": "~Test" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3915, + "startColumn": 1, + "charOffset": 146045, + "charLength": 101, + "snippet": { + "text": "// done by the d'tor of the gtest_flag_saver_ field, and thus not\n// visible here.\nTest::~Test() {\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3d8ddc5a0b48afdd", + "equalIndicator/v1": "99d33c5e517cad2e64e6ee3fab1fa842d99d7dcdc989c019d5493707d637400e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'f' used after it was moved", + "markdown": "'f' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 339, + "startColumn": 17, + "charOffset": 9768, + "charLength": 1, + "snippet": { + "text": "f" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 337, + "startColumn": 1, + "charOffset": 9693, + "charLength": 94, + "snippet": { + "text": " file f2(std::move(f));\n EXPECT_EQ(fd, f2.descriptor());\n EXPECT_EQ(-1, f.descriptor());\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1b598e61f29034c0", + "equalIndicator/v1": "9a965ef949e0dbdbbcc36d9112db952a953a296d008cb08fe0d44aabf79e2bac" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6064, + "startColumn": 10, + "charOffset": 226769, + "charLength": 11, + "snippet": { + "text": "std::string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6062, + "startColumn": 1, + "charOffset": 226710, + "charLength": 86, + "snippet": { + "text": "\nstatic inline std::string Indent(size_t width) {\n return std::string(width, ' ');\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ab895cd7e014a24", + "equalIndicator/v1": "9b08934f225f9876e951045e3d02fa49592d40805e7fe90284d52831ad58b6d6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2480, + "startColumn": 22, + "charOffset": 96575, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2478, + "startColumn": 1, + "charOffset": 96498, + "charLength": 164, + "snippet": { + "text": "\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "15e31da89ffd3fa3", + "equalIndicator/v1": "9b6fb2a3ab94d1c589225a0932a95ba2f07b8c5c0af793a7641a326cfa4c1fe4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator basic_string_view' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1681, + "startColumn": 3, + "charOffset": 71207, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1679, + "startColumn": 1, + "charOffset": 71164, + "charLength": 131, + "snippet": { + "text": "\nstruct convertible_to_std_string_view {\n operator std::string_view() const noexcept { return \"Hi there\"; }\n};\nFMT_BEGIN_NAMESPACE" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ed69f387aa0917ee", + "equalIndicator/v1": "9e6d8461b6f3a84811355c5aab760d591c603b5309482cd0ee2d392991a14845" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4205, + "startColumn": 20, + "charOffset": 157507, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4203, + "startColumn": 1, + "charOffset": 157403, + "charLength": 259, + "snippet": { + "text": "// Constructs a TestInfo object. It assumes ownership of the test factory\n// object.\nTestInfo::TestInfo(const std::string& a_test_suite_name,\n const std::string& a_name, const char* a_type_param,\n const char* a_value_param," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "47fab13a25eb15c3", + "equalIndicator/v1": "9ecaed5b42161e4cbfdf17e63f561606b6f0eb45f10234d0e5006907300a124e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'bf' used after it was moved", + "markdown": "'bf' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 150, + "startColumn": 15, + "charOffset": 4655, + "charLength": 2, + "snippet": { + "text": "bf" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 148, + "startColumn": 1, + "charOffset": 4577, + "charLength": 102, + "snippet": { + "text": " buffered_file bf2(std::move(bf));\n EXPECT_EQ(fp, bf2.get());\n EXPECT_TRUE(bf.get() == nullptr);\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "93e014eb79cbf6b9", + "equalIndicator/v1": "9f6acf2aac7a86942ff5caf966ca24310e155ab8b07c5f0f87c60b612d581ece" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'a_code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies", + "markdown": "Parameter 'a_code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4215, + "startColumn": 17, + "charOffset": 158064, + "charLength": 15, + "snippet": { + "text": "a_code_location" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4213, + "startColumn": 1, + "charOffset": 157895, + "charLength": 255, + "snippet": { + "text": " type_param_(a_type_param ? new std::string(a_type_param) : nullptr),\n value_param_(a_value_param ? new std::string(a_value_param) : nullptr),\n location_(a_code_location),\n fixture_class_id_(fixture_class_id),\n should_run_(false)," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4afb8443ee1974cb", + "equalIndicator/v1": "a053cdeba4cee925809950f0cf236a3de8a50c2ab0537d49b5ff934574b11579" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 613, + "startColumn": 5, + "charOffset": 19406, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 611, + "startColumn": 1, + "charOffset": 19249, + "charLength": 231, + "snippet": { + "text": " static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(!is_container_adaptor_like>::value, \"\");\n }\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4f7ddc20870897c7", + "equalIndicator/v1": "a11f6e6fa9ace3d3649c7fefec8328e2315a09cc67f59592e67cc2e310c69ae1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Return type 'const decltype(ctx.out())' (aka 'const basic_appender') is 'const'-qualified at the top level, which may reduce code readability without improving const correctness", + "markdown": "Return type 'const decltype(ctx.out())' (aka 'const basic_appender') is 'const'-qualified at the top level, which may reduce code readability without improving const correctness" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 829, + "startColumn": 3, + "charOffset": 25751, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 827, + "startColumn": 1, + "charOffset": 25744, + "charLength": 120, + "snippet": { + "text": " }\n\n auto format(its_a_trap, format_context& ctx) const\n -> decltype(ctx.out()) const {\n auto out = ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cf52f137786b39aa", + "equalIndicator/v1": "a19de771619a658024e6a369974dabbd124248304750e5c26496517205d78b94" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'skipped_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'skipped_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 943, + "startColumn": 3, + "charOffset": 36988, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 941, + "startColumn": 1, + "charOffset": 36946, + "charLength": 112, + "snippet": { + "text": "\n // Gets the number of skipped tests.\n int skipped_test_count() const;\n\n // Gets the number of failed tests." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d9c38795f2d7c47", + "equalIndicator/v1": "a212fc27dd9752bdb43dfa9c608a0915333b1ef635c5f76f86e0822945ddbf53" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 208, + "startColumn": 27, + "charOffset": 6461, + "charLength": 16, + "snippet": { + "text": "EXPECT_THROW_MSG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 206, + "startColumn": 1, + "charOffset": 6298, + "charLength": 315, + "snippet": { + "text": " EXPECT_THROW_MSG(throw runtime_error(\"\"), runtime_error, \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(n++, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(throw 1, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(\n EXPECT_THROW_MSG(throw runtime_error(\"a\"), runtime_error, \"b\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eed200d2215d7133", + "equalIndicator/v1": "a399df837ec7c203fe362c0df9c4d051461a724b805255681e690a4d5d104881" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13399, + "startColumn": 34, + "charOffset": 493992, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13397, + "startColumn": 1, + "charOffset": 493853, + "charLength": 214, + "snippet": { + "text": "// Constructs an ExpectationBase object.\nExpectationBase::ExpectationBase(const char* a_file, int a_line,\n const std::string& a_source_text)\n : file_(a_file),\n line_(a_line)," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "02ad900a808d6aa2", + "equalIndicator/v1": "a617486cf90e1374f667d0543ab676ccd4b81ac76afa4ed857ffbf062676b54c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnTestPartResult' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnTestPartResult' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5264, + "startColumn": 8, + "charOffset": 196411, + "charLength": 16, + "snippet": { + "text": "OnTestPartResult" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5262, + "startColumn": 1, + "charOffset": 196286, + "charLength": 284, + "snippet": { + "text": " void OnTestSuiteStart(const TestSuite& parameter) override;\n void OnTestStart(const TestInfo& test_info) override;\n void OnTestPartResult(const TestPartResult& result) override;\n void OnTestEnd(const TestInfo& test_info) override;\n// Legacy API is deprecated but still available" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d051c6f7bbcdbe17", + "equalIndicator/v1": "a6f97292322b89521272b7d908069f332f308545484cd67e3d63890825574607" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9426, + "startColumn": 5, + "charOffset": 352439, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9424, + "startColumn": 1, + "charOffset": 352417, + "charLength": 124, + "snippet": { + "text": "\n ~Arguments() {\n for (std::vector::iterator i = args_.begin(); i != args_.end();\n ++i) {\n free(*i);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6087227d4f7a67b8", + "equalIndicator/v1": "a7ed08f7c075ef0c4f6328956174b04abed5a2ceef36d44673c955b397bf58ad" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Potential uncovered code path; add a default label", + "markdown": "Potential uncovered code path; add a default label" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2826, + "startColumn": 5, + "charOffset": 107035, + "charLength": 6, + "snippet": { + "text": "switch" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2824, + "startColumn": 1, + "charOffset": 106983, + "charLength": 102, + "snippet": { + "text": "\n void PushLine(char edit, const char* line) {\n switch (edit) {\n case ' ':\n ++common_;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ca9af690e51f9079", + "equalIndicator/v1": "a80ab6eec1f8569841185c759cfaab34e19d7e3b5033c692fbe1570223c908e8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'begin' should be marked [[nodiscard]]", + "markdown": "Function 'begin' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 453, + "startColumn": 3, + "charOffset": 14154, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 451, + "startColumn": 1, + "charOffset": 14118, + "charLength": 140, + "snippet": { + "text": "struct zstring {\n const char* p;\n auto begin() const -> const char* { return p; }\n auto end() const -> zstring_sentinel { return {}; }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3f4f73a3d9e1fe1", + "equalIndicator/v1": "a859ec57626c15e6912a0d110adebd86a2633507d61691b48ca98f391bbbdb53" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 579, + "startColumn": 22, + "charOffset": 17735, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 577, + "startColumn": 1, + "charOffset": 17644, + "charLength": 178, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4853d14a02cfec36", + "equalIndicator/v1": "a871eeff8378fe233ecde6cc4809692b8b8a0de34051a1e566a0a886174ed416" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead", + "markdown": "Inclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/scan-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 11, + "charOffset": 210, + "charLength": 6, + "snippet": { + "text": "time.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 181, + "charLength": 56, + "snippet": { + "text": "#include \"scan.h\"\n\n#include \n\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fd8b764e5485819b", + "equalIndicator/v1": "a8841f2ee604f77f66ad2533546648bad0e6b162e2e0e63de5ce8adbf529160f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'push_back' can be made static", + "markdown": "Method 'push_back' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2151, + "startColumn": 8, + "charOffset": 86270, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2149, + "startColumn": 1, + "charOffset": 86206, + "charLength": 139, + "snippet": { + "text": "struct nongrowing_container {\n using value_type = char;\n void push_back(char) { throw std::runtime_error(\"can't take it any more\"); }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5be66b29e446b1a5", + "equalIndicator/v1": "a8ad1cc8d4b247ed4b7418df8022bf00699b2dd53a11a29e5752b3ebfc859c81" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'bf' used after it was moved", + "markdown": "'bf' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 160, + "startColumn": 15, + "charOffset": 4906, + "charLength": 2, + "snippet": { + "text": "bf" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 158, + "startColumn": 1, + "charOffset": 4841, + "charLength": 89, + "snippet": { + "text": " bf2 = std::move(bf);\n EXPECT_EQ(fp, bf2.get());\n EXPECT_TRUE(bf.get() == nullptr);\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f64e2066d563b573", + "equalIndicator/v1": "a987a6260d91e5180404f44465e884e6cc62b60b0e18ea8e8992821554224755" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9465, + "startColumn": 3, + "charOffset": 353661, + "charLength": 17, + "snippet": { + "text": "ExecDeathTestArgs" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9463, + "startColumn": 1, + "charOffset": 353538, + "charLength": 257, + "snippet": { + "text": "// any potentially unsafe operations like malloc or libc functions.\nstatic int ExecDeathTestChildMain(void* child_arg) {\n ExecDeathTestArgs* const args = static_cast(child_arg);\n GTEST_DEATH_TEST_CHECK_SYSCALL_(close(args->close_fd));\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "075aec18827223a0", + "equalIndicator/v1": "a9e9fad7c9ef4df25d0452626cdf43987cc928c9991ab8fb1a404e1370f81d5c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'PushTrace' can be made static", + "markdown": "Method 'PushTrace' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8222, + "startColumn": 19, + "charOffset": 307602, + "charLength": 9, + "snippet": { + "text": "PushTrace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8220, + "startColumn": 1, + "charOffset": 307471, + "charLength": 241, + "snippet": { + "text": "// Pushes the given source file location and message onto a per-thread\n// trace stack maintained by Google Test.\nvoid ScopedTrace::PushTrace(const char* file, int line, std::string message) {\n internal::TraceInfo trace;\n trace.file = file;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "937b7d0b3360b2e8", + "equalIndicator/v1": "aa94fb4befc9cd97a2ad02b8682957e7dc61a6a9b22388c913a5a925d10c79ff" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead", + "markdown": "Inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10367, + "startColumn": 11, + "charOffset": 388977, + "charLength": 7, + "snippet": { + "text": "stdio.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10365, + "startColumn": 1, + "charOffset": 388946, + "charLength": 79, + "snippet": { + "text": "\n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3708b96066b282a", + "equalIndicator/v1": "aacda663e433be7a00302640137fc955a92c1529faa7d4bae484598f0f9bb597" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1878, + "startColumn": 22, + "charOffset": 77644, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1876, + "startColumn": 1, + "charOffset": 77558, + "charLength": 173, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1b20e0ac0acc6a11", + "equalIndicator/v1": "ab2e0b1ecd548f0e0bdba57e67f484466ada27490c29ccfbd448f4957066411d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Single-argument constructors must be marked explicit to avoid unintentional implicit conversions", + "markdown": "Single-argument constructors must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 309, + "startColumn": 3, + "charOffset": 11371, + "charLength": 12, + "snippet": { + "text": "my_exception" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 307, + "startColumn": 1, + "charOffset": 11359, + "charLength": 107, + "snippet": { + "text": "\n public:\n my_exception(const std::string& s) : msg(s) {}\n const char* what() const noexcept override;\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "01f3be6d0772f4b2", + "equalIndicator/v1": "ac4b1aead9e1ef30032717bc8919daa101036d82a5933ae7cf36cbc8bb01fb6b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 478, + "startColumn": 3, + "charOffset": 14169, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 476, + "startColumn": 1, + "charOffset": 14124, + "charLength": 236, + "snippet": { + "text": "\nTEST(base_test, constexpr_parse_arg_id) {\n static_assert(parse_arg_id(\"42:\").res == arg_id_result::index, \"\");\n static_assert(parse_arg_id(\"42:\").index == 42, \"\");\n static_assert(parse_arg_id(\"foo:\").res == arg_id_result::name, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "87e535024417c507", + "equalIndicator/v1": "ac8723588fcc30dea02a86e2c877453986f16b0b1c7a0b0484bfa9311aada0a4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 494, + "startColumn": 3, + "charOffset": 14893, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 492, + "startColumn": 1, + "charOffset": 14842, + "charLength": 260, + "snippet": { + "text": "\nTEST(base_test, constexpr_parse_format_specs) {\n static_assert(parse_test_specs(\"<\").align() == fmt::align::left, \"\");\n static_assert(parse_test_specs(\"*^\").fill_unit() == '*', \"\");\n static_assert(parse_test_specs(\"+\").sign() == fmt::sign::plus, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6fa06313c6650ffb", + "equalIndicator/v1": "acd5d35332e498a385dc3268ab8783702fcdddaa922aa619f7c3c96950cef813" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use emplace_back instead of push_back", + "markdown": "Use emplace_back instead of push_back" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/chrono-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 292, + "startColumn": 13, + "charOffset": 9233, + "charLength": 9, + "snippet": { + "text": "push_back" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 290, + "startColumn": 1, + "charOffset": 9138, + "charLength": 166, + "snippet": { + "text": " \"%a\", \"%A\", \"%w\", \"%H\", \"%I\", \"%M\", \"%S\", \"%x\", \"%X\", \"%p\"};\n#endif\n spec_list.push_back(\"%Y-%m-%d %H:%M:%S\");\n\n for (const auto& spec : spec_list) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "26fc64bb971fbe4f", + "equalIndicator/v1": "ad5e499eefed4e5d86e5f80769ae71c08a3a2aead1845173bf586729a689e486" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead", + "markdown": "Inclusion of deprecated C++ header 'time.h'; consider using 'ctime' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 315, + "startColumn": 11, + "charOffset": 13703, + "charLength": 6, + "snippet": { + "text": "time.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 313, + "startColumn": 1, + "charOffset": 13654, + "charLength": 95, + "snippet": { + "text": "#include \n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "89eb3817bbcecc69", + "equalIndicator/v1": "ae2098283f5d1ef17d6d3f9f752508e43888588b6d1366fbf8a916799fc7bc0f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pass by value and use std::move", + "markdown": "Pass by value and use std::move" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7165, + "startColumn": 28, + "charOffset": 267543, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7163, + "startColumn": 1, + "charOffset": 267489, + "charLength": 167, + "snippet": { + "text": " public:\n // Constructor.\n explicit TestSuiteNameIs(const std::string& name) : name_(name) {}\n\n // Returns true if and only if the name of test_suite matches name_." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0975fd1f585d8df6", + "equalIndicator/v1": "aefd5a7cc5e113110dd3593389b1b207e199b333acdb6752b36be7aa7bbc9bcb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Modification of 'std' namespace can result in undefined behavior", + "markdown": "Modification of 'std' namespace can result in undefined behavior" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/scan-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 115, + "startColumn": 12, + "charOffset": 3190, + "charLength": 10, + "snippet": { + "text": "scan_error" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 113, + "startColumn": 1, + "charOffset": 3146, + "charLength": 76, + "snippet": { + "text": "namespace std {\nusing fmt::scan;\nusing fmt::scan_error;\n} // namespace std\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e06d8092e0948be", + "equalIndicator/v1": "af871a7c189676558e5d014f6a9dd8bbf89bea9dcf7ebc334ff4a6e0b3de024e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a template cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a template cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 339, + "startColumn": 3, + "charOffset": 11606, + "charLength": 8, + "snippet": { + "text": "unsigned" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 337, + "startColumn": 1, + "charOffset": 11517, + "charLength": 232, + "snippet": { + "text": " unsigned long long unsigned_value = 0;\n // Apply integer promotion to the argument.\n unsigned long long max = max_value();\n using fmt::detail::const_check;\n if (const_check(max <= static_cast(max_value()))) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2d69a5c0c27c5e8d", + "equalIndicator/v1": "b0670a1a845ba1172fd4e31b8b59f21fd92bf67a2c5ee336593440e67d125ed2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Static member accessed through instance", + "markdown": "Static member accessed through instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 336, + "startColumn": 21, + "charOffset": 10937, + "charLength": 4, + "snippet": { + "text": "pipe" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 334, + "startColumn": 1, + "charOffset": 10844, + "charLength": 209, + "snippet": { + "text": " auto pipe = fmt::pipe();\n int write_fd = pipe.write_end.descriptor();\n file write_copy = pipe.write_end.dup(write_fd);\n buffered_file f = pipe.write_end.fdopen(\"w\");\n // Put a character in a file buffer." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a345aa0716a3b631", + "equalIndicator/v1": "b082227fb06c12ba08619c7290987c26c2a222115ad4e764e4ab03d7cab89bf8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'end' can be made static", + "markdown": "Method 'end' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 454, + "startColumn": 8, + "charOffset": 14209, + "charLength": 3, + "snippet": { + "text": "end" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 452, + "startColumn": 1, + "charOffset": 14135, + "charLength": 124, + "snippet": { + "text": " const char* p;\n auto begin() const -> const char* { return p; }\n auto end() const -> zstring_sentinel { return {}; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d7df0f249fad0b2", + "equalIndicator/v1": "b086e8dabf78cafe10ce39b6fdebdeab5d033fe8a737fe2600bb52ffe759c4c7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of 'size'", + "markdown": "The 'empty' method should be used to check for emptiness instead of 'size'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1859, + "startColumn": 43, + "charOffset": 72156, + "charLength": 8, + "snippet": { + "text": "GetArgvs" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1857, + "startColumn": 1, + "charOffset": 71993, + "charLength": 258, + "snippet": { + "text": "// Google Test. Useful for catching the user mistake of not initializing\n// Google Test before calling RUN_ALL_TESTS().\nstatic bool GTestIsInitialized() { return GetArgvs().size() > 0; }\n\n// Iterates over a vector of TestSuites, keeping a running sum of the" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f9879b5f481d32db", + "equalIndicator/v1": "b1889960cf5117fbb3a9f7b27c7909c4fc46a749ec49ea0c1655725ef91813ad" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead", + "markdown": "Inclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12898, + "startColumn": 11, + "charOffset": 474921, + "charLength": 8, + "snippet": { + "text": "string.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12896, + "startColumn": 1, + "charOffset": 474909, + "charLength": 60, + "snippet": { + "text": "\n\n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57f3e65ec9680e98", + "equalIndicator/v1": "b24406e8ef99db4b97217400bdcea1465dbf445e673a175eefbc135bbf507204" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5763, + "startColumn": 37, + "charOffset": 215686, + "charLength": 7, + "snippet": { + "text": "summary" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5761, + "startColumn": 1, + "charOffset": 215537, + "charLength": 323, + "snippet": { + "text": " const std::string summary = location + \"\\n\" + part.summary();\n *stream << \" \";\n const std::string detail = location + \"\\n\" + part.message();\n OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "46f68b189d276634", + "equalIndicator/v1": "b27c5fc67fe19621bd8b0465516d49fac3946505d67750abbea2c3d65f230650" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12436, + "startColumn": 8, + "charOffset": 457688, + "charLength": 11, + "snippet": { + "text": "std::vector" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12434, + "startColumn": 1, + "charOffset": 457649, + "charLength": 194, + "snippet": { + "text": "\n std::set tests;\n for (std::vector::const_iterator name_it = name_vec.begin();\n name_it != name_vec.end(); ++name_it) {\n const std::string& name = *name_it;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8b9b172245ff0c50", + "equalIndicator/v1": "b27fb93ecf4d646abdb36d4e30bfc456583b590003eb396a38e040841f849622" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Uninitialized record type: 'ignore_sigprof_action'", + "markdown": "Uninitialized record type: 'ignore_sigprof_action'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9576, + "startColumn": 3, + "charOffset": 358563, + "charLength": 6, + "snippet": { + "text": "struct" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9574, + "startColumn": 1, + "charOffset": 358466, + "charLength": 251, + "snippet": { + "text": " // it after the call to fork()/clone() is complete.\n struct sigaction saved_sigprof_action;\n struct sigaction ignore_sigprof_action;\n memset(&ignore_sigprof_action, 0, sizeof(ignore_sigprof_action));\n sigemptyset(&ignore_sigprof_action.sa_mask);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8f10ba21230435e", + "equalIndicator/v1": "b2deb098d8eb1180d73ce21611bcf83b090a7059c4006e099f3ccbefcdc54d33" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13459, + "startColumn": 5, + "charOffset": 495979, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13457, + "startColumn": 1, + "charOffset": 495945, + "charLength": 186, + "snippet": { + "text": " expectations.pop_back();\n\n for (ExpectationSet::const_iterator it =\n exp->immediate_prerequisites_.begin();\n it != exp->immediate_prerequisites_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "39203341c0f83db4", + "equalIndicator/v1": "b4de9ef9aa3f9111ddc410bb4ab8a9cc1fd26db75283aabff4ec0733810a3bda" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead", + "markdown": "Inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 11777, + "startColumn": 11, + "charOffset": 435903, + "charLength": 7, + "snippet": { + "text": "stdio.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 11775, + "startColumn": 1, + "charOffset": 435891, + "charLength": 39, + "snippet": { + "text": "\n\n#include \n\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf158e346bffe746", + "equalIndicator/v1": "b51562a95a6536969bf77f439bbc7f730f391e2bb6a600e8669e13bdf46b834d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'Passed' should be marked [[nodiscard]]", + "markdown": "Function 'Passed' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 972, + "startColumn": 3, + "charOffset": 37906, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 970, + "startColumn": 1, + "charOffset": 37814, + "charLength": 210, + "snippet": { + "text": " // Returns true if and only if the unit test passed (i.e. all test suites\n // passed).\n bool Passed() const { return !Failed(); }\n\n // Returns true if and only if the unit test failed (i.e. some test suite" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9c2932899df28cec", + "equalIndicator/v1": "b5824dd5d3713c8313ad5fb793099d6d42fc5ebc05122217dc23a27b48dc94e2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'total_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'total_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 958, + "startColumn": 3, + "charOffset": 37434, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 956, + "startColumn": 1, + "charOffset": 37396, + "charLength": 115, + "snippet": { + "text": "\n // Gets the number of all tests.\n int total_test_count() const;\n\n // Gets the number of tests that should run." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d42d03f88d959529", + "equalIndicator/v1": "b5a65bcc6388a061597389d7494204b2f09411e03b06b01166367b0d8c4f1067" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'TryAugment' is within a recursive call chain", + "markdown": "Function 'TryAugment' is within a recursive call chain" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13041, + "startColumn": 8, + "charOffset": 481717, + "charLength": 10, + "snippet": { + "text": "TryAugment" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13039, + "startColumn": 1, + "charOffset": 481675, + "charLength": 191, + "snippet": { + "text": " // when TryAugment returns.\n //\n bool TryAugment(size_t ilhs, ::std::vector* seen) {\n for (size_t irhs = 0; irhs < graph_->RhsSize(); ++irhs) {\n if ((*seen)[irhs]) continue;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4605629a979ec825", + "equalIndicator/v1": "b62611fa97603fa6f71cf8b5bfe8d4455f9aded144bc12d6c32671bd70f21dfa" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13095, + "startColumn": 3, + "charOffset": 483993, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13093, + "startColumn": 1, + "charOffset": 483954, + "charLength": 163, + "snippet": { + "text": " os << \"{\";\n const char* sep = \"\";\n for (Iter it = pairs.begin(); it != pairs.end(); ++it) {\n os << sep << \"\\n (\"\n << \"element #\" << it->first << \", \"" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4849a338dc2d4b4c", + "equalIndicator/v1": "b7881bb6c2d09f110b20e2730e913c9a21bd2ae53352624112dd6ce3a9e207ae" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Uninitialized record type: 'time_struct'", + "markdown": "Uninitialized record type: 'time_struct'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5602, + "startColumn": 3, + "charOffset": 209017, + "charLength": 6, + "snippet": { + "text": "struct" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5600, + "startColumn": 1, + "charOffset": 208901, + "charLength": 225, + "snippet": { + "text": "// 8601 format, without the timezone information.\nstd::string FormatEpochTimeInMillisAsIso8601(TimeInMillis ms) {\n struct tm time_struct;\n if (!PortableLocaltime(static_cast(ms / 1000), &time_struct))\n return \"\";" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "980319e70bff2a3d", + "equalIndicator/v1": "b9120afd334447e44d4e7e1f48360a58ca9f90a59cc8bb47f213e173b8600b24" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3736, + "startColumn": 9, + "charOffset": 139919, + "charLength": 11, + "snippet": { + "text": "std::vector" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3734, + "startColumn": 1, + "charOffset": 139854, + "charLength": 268, + "snippet": { + "text": " }\n internal::MutexLock lock(&test_properties_mutex_);\n const std::vector::iterator property_with_matching_key =\n std::find_if(test_properties_.begin(), test_properties_.end(),\n internal::TestPropertyKeyIs(test_property.key()));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d8b6e1c600c4332c", + "equalIndicator/v1": "bae75cc9a5f256209668bdfd62d24bba3594dca05943f7859ebdb456479aa55d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead", + "markdown": "Inclusion of deprecated C++ header 'string.h'; consider using 'cstring' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10369, + "startColumn": 11, + "charOffset": 389016, + "charLength": 8, + "snippet": { + "text": "string.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10367, + "startColumn": 1, + "charOffset": 388967, + "charLength": 96, + "snippet": { + "text": "#include \n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "14350902e99fb164", + "equalIndicator/v1": "bb0a05d497cab0a5e234ff5fb7ff458f7435c11bc9ac1d99b07eb6f65d63f020" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsSetUpStart' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsSetUpStart' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5256, + "startColumn": 8, + "charOffset": 195959, + "charLength": 24, + "snippet": { + "text": "OnEnvironmentsSetUpStart" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5254, + "startColumn": 1, + "charOffset": 195809, + "charLength": 327, + "snippet": { + "text": " void OnTestProgramStart(const UnitTest& unit_test) override;\n void OnTestIterationStart(const UnitTest& unit_test, int iteration) override;\n void OnEnvironmentsSetUpStart(const UnitTest& unit_test) override;\n void OnEnvironmentsSetUpEnd(const UnitTest& unit_test) override;\n// Legacy API is deprecated but still available" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d14b1449eb473879", + "equalIndicator/v1": "bbdf463a2abc67f60b9aa8a2395160fbf81aafbb1bf490c3515b241aa56c160b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'size' should be marked [[nodiscard]]", + "markdown": "Function 'size' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2503, + "startColumn": 3, + "charOffset": 97177, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2501, + "startColumn": 1, + "charOffset": 97138, + "charLength": 71, + "snippet": { + "text": "\n auto data() const -> const char*;\n auto size() const -> size_t;\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0eab3496c9f8aa42", + "equalIndicator/v1": "bbefd0f068f43fa305a9ee2149fc7389eef097f0d19d7c67a1bd3a44063254d2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Uninitialized record type: 'time_struct'", + "markdown": "Uninitialized record type: 'time_struct'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6051, + "startColumn": 3, + "charOffset": 226214, + "charLength": 6, + "snippet": { + "text": "struct" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6049, + "startColumn": 1, + "charOffset": 226088, + "charLength": 235, + "snippet": { + "text": "// RFC3339 format, without the timezone information.\nstatic std::string FormatEpochTimeInMillisAsRFC3339(TimeInMillis ms) {\n struct tm time_struct;\n if (!PortableLocaltime(static_cast(ms / 1000), &time_struct))\n return \"\";" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "24bccea8dbda19af", + "equalIndicator/v1": "bc4dbad2175b86867b26eed4ca4c83b53ab205aba962b5ddf8ab2947f2c8c4bb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2251, + "startColumn": 22, + "charOffset": 89025, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2249, + "startColumn": 1, + "charOffset": 88932, + "charLength": 180, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "00ff5d976708f713", + "equalIndicator/v1": "bddd86b5676617afc66083d42e20bc0162b4e6fb1f4bdb65b1f47d95e472ba4e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Move constructors should be marked noexcept", + "markdown": "Move constructors should be marked noexcept" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 214, + "startColumn": 16, + "charOffset": 8209, + "charLength": 14, + "snippet": { + "text": "throws_on_move" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 212, + "startColumn": 1, + "charOffset": 8163, + "charLength": 142, + "snippet": { + "text": " throws_on_move() = default;\n\n [[noreturn]] throws_on_move(throws_on_move&&) {\n throw std::runtime_error(\"Thrown by throws_on_move\");\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fc64d856039c8d2", + "equalIndicator/v1": "bf65d7aa7caddfbd60fcc2ced521d43eb1a9d82f0fcf0935d32ee85a8dea89a5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 611, + "startColumn": 5, + "charOffset": 19253, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 609, + "startColumn": 1, + "charOffset": 19147, + "charLength": 328, + "snippet": { + "text": " using T = std::nullptr_t;\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(is_container_adaptor_like>::value, \"\");\n static_assert(!is_container_adaptor_like>::value, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "83b0c5815421f2e5", + "equalIndicator/v1": "bf72dec0a1aaf6a87dfdc7d59e31f0f037c7417c981efa7970ee0767fef61702" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 11711, + "startColumn": 15, + "charOffset": 432955, + "charLength": 29, + "snippet": { + "text": "default_value_for_output_flag" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 11709, + "startColumn": 1, + "charOffset": 432821, + "charLength": 279, + "snippet": { + "text": "// and if it is set we prepend \"xml:\" to its value, if it not set we return \"\"\nstd::string OutputFlagAlsoCheckEnvVar(){\n std::string default_value_for_output_flag = \"\";\n const char* xml_output_file_env = posix::GetEnv(\"XML_OUTPUT_FILE\");\n if (nullptr != xml_output_file_env) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "88adb360315ae8e2", + "equalIndicator/v1": "c0958499d2dbbdd71167bb5ce6ab0cbf884a096971fb4978165b1e86f0309bb5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 564, + "startColumn": 22, + "charOffset": 17350, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 562, + "startColumn": 1, + "charOffset": 17273, + "charLength": 164, + "snippet": { + "text": "\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "86fc441b8507614a", + "equalIndicator/v1": "c0e0f63ceeae2b85a0ee5252c37b0280f91993e14be101800028e29ca5c266de" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13479, + "startColumn": 10, + "charOffset": 496729, + "charLength": 30, + "snippet": { + "text": "ExpectationSet::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13477, + "startColumn": 1, + "charOffset": 496690, + "charLength": 186, + "snippet": { + "text": " expectations.pop_back();\n\n for (ExpectationSet::const_iterator it =\n exp->immediate_prerequisites_.begin();\n it != exp->immediate_prerequisites_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "02ae2b49dfa1b388", + "equalIndicator/v1": "c330e985d8ef60603d6de9681d792dec3fc1b02b4259bfe1f1db28ee382d6fb2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 506, + "startColumn": 3, + "charOffset": 15689, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 504, + "startColumn": 1, + "charOffset": 15551, + "charLength": 237, + "snippet": { + "text": " static_assert(parse_test_specs(\".42\").precision == 42, \"\");\n static_assert(parse_test_specs(\".{42}\").precision_ref.index == 42, \"\");\n static_assert(parse_test_specs(\"f\").type() == fmt::presentation_type::fixed,\n \"\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3f2b269bf8a655cc", + "equalIndicator/v1": "c34e94491350c9502aa686ead820588aa70b634ef368d474b5303bd47475f095" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Std::move of the variable 'app' of the trivially-copyable type 'fmt::appender' (aka 'basic_appender') has no effect; remove std::move()", + "markdown": "Std::move of the variable 'app' of the trivially-copyable type 'fmt::appender' (aka 'basic_appender') has no effect; remove std::move()" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 883, + "startColumn": 34, + "charOffset": 27057, + "charLength": 9, + "snippet": { + "text": "std::move" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 881, + "startColumn": 1, + "charOffset": 26899, + "charLength": 211, + "snippet": { + "text": " static fmt::format_context copy(fmt::appender app,\n const fmt::format_context& ctx) {\n return fmt::format_context(std::move(app), ctx.args(), ctx.locale());\n }\n };" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ef18b4d2d25b60f0", + "equalIndicator/v1": "c4b2fd76fa830a9cfe3ff95465effd9fbbb9aeaa3abeeea29617da2a0d74fd1c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Nested namespaces can be concatenated", + "markdown": "Nested namespaces can be concatenated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12903, + "startColumn": 1, + "charOffset": 474989, + "charLength": 9, + "snippet": { + "text": "namespace" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12901, + "startColumn": 1, + "charOffset": 474970, + "charLength": 60, + "snippet": { + "text": "#include \n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bfbc730b5d86df76", + "equalIndicator/v1": "c57c896d94137f2b13401376bb61b1a40e6bcfbce829c064dc846648a5b8b2cf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial default constructor", + "markdown": "Use '= default' to define a trivial default constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 838, + "startColumn": 3, + "charOffset": 33160, + "charLength": 18, + "snippet": { + "text": "OsStackTraceGetter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 836, + "startColumn": 1, + "charOffset": 33085, + "charLength": 172, + "snippet": { + "text": "class OsStackTraceGetter : public OsStackTraceGetterInterface {\n public:\n OsStackTraceGetter() {}\n\n std::string CurrentStackTrace(int max_depth, int skip_count) override;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c33ad4c6141fe966", + "equalIndicator/v1": "c6786f6564265939bd405fdd0316593626df65078217a02c377b94aaec280e57" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when initializing with a cast to avoid duplicating the type name", + "markdown": "Use auto when initializing with a cast to avoid duplicating the type name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12168, + "startColumn": 9, + "charOffset": 448231, + "charLength": 8, + "snippet": { + "text": "unsigned" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12166, + "startColumn": 1, + "charOffset": 448151, + "charLength": 185, + "snippet": { + "text": "\nbool ContainsUnprintableControlCodes(const char* str, size_t length) {\n const unsigned char *s = reinterpret_cast(str);\n\n for (size_t i = 0; i < length; i++) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "77a70dc51a4189e3", + "equalIndicator/v1": "c6d2ab9a92dda3595624ded8257bd4dfaec645eac923611fc45f04ec3be6ea87" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 681, + "startColumn": 8, + "charOffset": 27343, + "charLength": 8, + "snippet": { + "text": "typename" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 679, + "startColumn": 1, + "charOffset": 27276, + "charLength": 179, + "snippet": { + "text": " // Solaris has a non-standard signature.\n int count = 0;\n for (typename Container::const_iterator it = c.begin(); it != c.end(); ++it) {\n if (predicate(*it))\n ++count;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f6da9229e4a3ec6f", + "equalIndicator/v1": "c6e74aff0c981c894cf82d6d91de870954273c7cb18442542206bf3f13f0f856" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructor does not initialize these fields: file_", + "markdown": "Constructor does not initialize these fields: file_" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/os.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 172, + "startColumn": 1, + "charOffset": 4457, + "charLength": 28, + "snippet": { + "text": "buffered_file::buffered_file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 170, + "startColumn": 1, + "charOffset": 4454, + "charLength": 175, + "snippet": { + "text": "}\n\nbuffered_file::buffered_file(cstring_view filename, cstring_view mode) {\n FMT_RETRY_VAL(file_, FMT_SYSTEM(fopen(filename.c_str(), mode.c_str())),\n nullptr);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd23799e262528dc", + "equalIndicator/v1": "c869e8f1a05dc21b2a9736e4f802f6c22c8debbc119140a4d90ca6bf12354f5b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead", + "markdown": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13356, + "startColumn": 11, + "charOffset": 492803, + "charLength": 8, + "snippet": { + "text": "stdlib.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13354, + "startColumn": 1, + "charOffset": 492791, + "charLength": 53, + "snippet": { + "text": "\n\n#include \n\n#include // NOLINT" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a97f27e7d8dca428", + "equalIndicator/v1": "c8d9d561b34908dd9575036c87b90268f56456e2d9beb03cb1fdb2d0d7a0fdff" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13845, + "startColumn": 3, + "charOffset": 509998, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13843, + "startColumn": 1, + "charOffset": 509934, + "charLength": 201, + "snippet": { + "text": " g_gmock_mutex.AssertHeld();\n bool expectations_met = true;\n for (UntypedExpectations::const_iterator it =\n untyped_expectations_.begin();\n it != untyped_expectations_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "37d1f13b935caaf3", + "equalIndicator/v1": "ca0ac29058e472b907367fc965fea3306926531bb792b6b199d3c0254d6f1f82" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Static member accessed through instance", + "markdown": "Static member accessed through instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7632, + "startColumn": 7, + "charOffset": 286163, + "charLength": 25, + "snippet": { + "text": "JsonUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7630, + "startColumn": 1, + "charOffset": 286062, + "charLength": 246, + "snippet": { + "text": " .PrintXmlTestsList(&stream, test_suites_);\n } else if (output_format == \"json\") {\n JsonUnitTestResultPrinter(\n UnitTestOptions::GetAbsolutePathToOutputFile().c_str())\n .PrintJsonTestList(&stream, test_suites_);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da0756ddd452599d", + "equalIndicator/v1": "ca3be96e71bffabcebf564a975b69920da77caced80026d905aedb201eb91019" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial default constructor", + "markdown": "Use '= default' to define a trivial default constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 811, + "startColumn": 3, + "charOffset": 32063, + "charLength": 27, + "snippet": { + "text": "OsStackTraceGetterInterface" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 809, + "startColumn": 1, + "charOffset": 32016, + "charLength": 124, + "snippet": { + "text": "class OsStackTraceGetterInterface {\n public:\n OsStackTraceGetterInterface() {}\n virtual ~OsStackTraceGetterInterface() {}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3c6bcd71a4e868c", + "equalIndicator/v1": "cbc13dd03ab37c07879f536541e3714dd6bbd8382afe7c9014ac5d6cebff6ffc" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 796, + "startColumn": 1, + "charOffset": 24423, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 794, + "startColumn": 1, + "charOffset": 24398, + "charLength": 79, + "snippet": { + "text": " void end() const {}\n};\nstatic_assert(!fmt::is_formattable{}, \"\");\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "81bb529514436bdb", + "equalIndicator/v1": "cd62bce53c3936c1ee3470f03a4cb1d76e85c54d6930e0d0e651c67c7c5e4246" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant call to 'c_str'", + "markdown": "Redundant call to 'c_str'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2231, + "startColumn": 16, + "charOffset": 85912, + "charLength": 10, + "snippet": { + "text": "GTEST_FLAG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2229, + "startColumn": 1, + "charOffset": 85848, + "charLength": 159, + "snippet": { + "text": " std::string negative;\n if (dash == nullptr) {\n positive = GTEST_FLAG(filter).c_str(); // Whole string is a positive filter\n negative = \"\";\n } else {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30508eaa63bcb4b0", + "equalIndicator/v1": "cd6c1b8a1ce0118da2c48aaee77eb7c2017dd3f9dcfa3347b9e95c0ffee2f223" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14193, + "startColumn": 14, + "charOffset": 523707, + "charLength": 12, + "snippet": { + "text": "~Expectation" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14191, + "startColumn": 1, + "charOffset": 523645, + "charLength": 118, + "snippet": { + "text": " : expectation_base_(an_expectation_base) {}\n\nExpectation::~Expectation() {}\n\n// Adds an expectation to a sequence." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6a0c7b162f8a9efc", + "equalIndicator/v1": "cdc9ea53b65d6eb8b987b9f496c6ee0c83bd22e857c8ea06a463754509d1e6cd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'begin' should be marked [[nodiscard]]", + "markdown": "Function 'begin' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 257, + "startColumn": 3, + "charOffset": 7901, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 255, + "startColumn": 1, + "charOffset": 7854, + "charLength": 127, + "snippet": { + "text": "\ntemplate struct path_like {\n auto begin() const -> const path_like*;\n auto end() const -> const path_like*;\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "85eda7027f789bdf", + "equalIndicator/v1": "ceb8a8879803af2afdf3771b0e0c1ced5c4fb5ef2811baaf43f743e420f61a08" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Throwing an exception whose type 'bad_format' is not derived from 'std::exception'", + "markdown": "Throwing an exception whose type 'bad_format' is not derived from 'std::exception'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 202, + "startColumn": 60, + "charOffset": 6571, + "charLength": 10, + "snippet": { + "text": "bad_format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 200, + "startColumn": 1, + "charOffset": 6436, + "charLength": 246, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n auto parse(format_parse_context&) -> const char* { throw bad_format(); }\n auto format(not_default_formattable, format_context& ctx)\n -> format_context::iterator {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91ade995ffc48d48", + "equalIndicator/v1": "cfb3df0a2d5b7311c4c075866521afb7761376f8196c5b9ea1cc868f41eacdf9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 537, + "startColumn": 3, + "charOffset": 16559, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 535, + "startColumn": 1, + "charOffset": 16466, + "charLength": 215, + "snippet": { + "text": "TEST(base_test, constexpr_parse_format_string) {\n static_assert(parse_string(\"foo\"), \"\");\n static_assert(!parse_string(\"}\"), \"\");\n static_assert(parse_string(\"{}\"), \"\");\n static_assert(parse_string(\"{42}\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5175815aa86ba594", + "equalIndicator/v1": "cfbac760381b1dba43cd32e5cda16f32fa1eef67ef1844d3b879dcb95d8de1a0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'internal_run_death_test_flag' should be marked [[nodiscard]]", + "markdown": "Function 'internal_run_death_test_flag' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1185, + "startColumn": 3, + "charOffset": 47093, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1183, + "startColumn": 1, + "charOffset": 46966, + "charLength": 249, + "snippet": { + "text": " // This information is useful only in a death test child process.\n // Must not be called before a call to InitGoogleTest.\n const InternalRunDeathTestFlag* internal_run_death_test_flag() const {\n return internal_run_death_test_flag_.get();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3d15c113bb493b78", + "equalIndicator/v1": "d0c5455c759188c18440bcdf9b484d46bf888c1cfda7e6db4e5d99dc683dfffd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'IsSatisfiedByCallCount' should be marked [[nodiscard]]", + "markdown": "Function 'IsSatisfiedByCallCount' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12586, + "startColumn": 3, + "charOffset": 463490, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12584, + "startColumn": 1, + "charOffset": 463424, + "charLength": 183, + "snippet": { + "text": " int ConservativeUpperBound() const override { return max_; }\n\n bool IsSatisfiedByCallCount(int call_count) const override {\n return min_ <= call_count && call_count <= max_;\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5549afc745f89825", + "equalIndicator/v1": "d0d657a42444f7441b51bfa02651fb2427dea637235e0f33ad118c399d2185a0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13479, + "startColumn": 5, + "charOffset": 496724, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13477, + "startColumn": 1, + "charOffset": 496690, + "charLength": 186, + "snippet": { + "text": " expectations.pop_back();\n\n for (ExpectationSet::const_iterator it =\n exp->immediate_prerequisites_.begin();\n it != exp->immediate_prerequisites_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "af82071c7b08dc8b", + "equalIndicator/v1": "d1fce2e1e354e70613e539f63ebf27c108a55db2c0b9b9dd23248cd1bc8df5e0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/compile-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 294, + "startColumn": 8, + "charOffset": 10657, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 292, + "startColumn": 1, + "charOffset": 10564, + "charLength": 197, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter : formatter {\n auto format(std_context_test, format_context& ctx) const\n -> decltype(ctx.out()) {\n return ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "86192b68cba9e6a0", + "equalIndicator/v1": "d266fd4831f3fa309f28bf7daf83882e5b2fea6fd26c41b734c93b9e3a97c863" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'end' can be made static", + "markdown": "Method 'end' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 785, + "startColumn": 30, + "charOffset": 24201, + "charLength": 3, + "snippet": { + "text": "end" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 783, + "startColumn": 1, + "charOffset": 24122, + "charLength": 103, + "snippet": { + "text": " return noncopyable_istream_iterator{iss};\n }\n std::istream_iterator end() { return {}; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b9e33ce718cfa224", + "equalIndicator/v1": "d27577bd358bd8120db9f0af9bf1a48ddc7315b5cc955c46dfac19823523448d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13627, + "startColumn": 28, + "charOffset": 501983, + "charLength": 26, + "snippet": { + "text": "~UntypedFunctionMockerBase" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13625, + "startColumn": 1, + "charOffset": 501916, + "charLength": 166, + "snippet": { + "text": " : mock_obj_(nullptr), name_(\"\") {}\n\nUntypedFunctionMockerBase::~UntypedFunctionMockerBase() {}\n\n// Sets the mock object this mock method belongs to, and registers" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11c0cb7978d33d9f", + "equalIndicator/v1": "d369d618a24bf3e0dc149366baa21e5df6f1a22ad41120ec581daeb9b7246cc6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'f' used after it was moved", + "markdown": "'f' used after it was moved" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 349, + "startColumn": 17, + "charOffset": 9977, + "charLength": 1, + "snippet": { + "text": "f" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 347, + "startColumn": 1, + "charOffset": 9906, + "charLength": 90, + "snippet": { + "text": " f2 = std::move(f);\n EXPECT_EQ(fd, f2.descriptor());\n EXPECT_EQ(-1, f.descriptor());\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4b8b02ddda023505", + "equalIndicator/v1": "d38d04f934e744ab5c34957c77ce99937d83c1eb24fd2db9c9bfc2117de0e41b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'current_test_suite' should be marked [[nodiscard]]", + "markdown": "Function 'current_test_suite' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1161, + "startColumn": 3, + "charOffset": 46046, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1159, + "startColumn": 1, + "charOffset": 46009, + "charLength": 250, + "snippet": { + "text": " void ListTestsMatchingFilter();\n\n const TestSuite* current_test_suite() const { return current_test_suite_; }\n TestInfo* current_test_info() { return current_test_info_; }\n const TestInfo* current_test_info() const { return current_test_info_; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6568b0bd44b1e377", + "equalIndicator/v1": "d417143261bbe9717836916a01959eb8b92da32be6d250f2116585011efb6a5b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'has_edits' should be marked [[nodiscard]]", + "markdown": "Function 'has_edits' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2853, + "startColumn": 3, + "charOffset": 107670, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2851, + "startColumn": 1, + "charOffset": 107663, + "charLength": 70, + "snippet": { + "text": " }\n\n bool has_edits() const { return adds_ || removes_; }\n\n private:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5522928239952ab", + "equalIndicator/v1": "d4fe76a3f37ae241382b52bca383532f8693b43c19507bb07ebe83ac7104fa4b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use std::make_unique instead", + "markdown": "Use std::make_unique instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 202, + "startColumn": 7, + "charOffset": 5936, + "charLength": 15, + "snippet": { + "text": "std::unique_ptr" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 200, + "startColumn": 1, + "charOffset": 5871, + "charLength": 167, + "snippet": { + "text": "TEST(buffered_file_test, close_error_in_dtor) {\n auto f =\n std::unique_ptr(new buffered_file(open_buffered_file()));\n EXPECT_WRITE(\n stderr," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c950a7acb197c1cb", + "equalIndicator/v1": "d540d5f08ce9c00b071f0da7a685d19e78744482892a93ef5eba24f3fbffbf0a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'size' should be marked [[nodiscard]]", + "markdown": "Function 'size' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 849, + "startColumn": 3, + "charOffset": 26143, + "charLength": 6, + "snippet": { + "text": "size_t" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 847, + "startColumn": 1, + "charOffset": 26113, + "charLength": 89, + "snippet": { + "text": " using value_type = char;\n\n size_t size() const { return 0; }\n void resize(size_t) {}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "715c272a743a6dbb", + "equalIndicator/v1": "d62fa42286a5d888239fa9c82fa0c3f74408a8ffb620e5906ee460692053d211" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'read' can be made const", + "markdown": "Method 'read' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/os.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 269, + "startColumn": 19, + "charOffset": 7577, + "charLength": 4, + "snippet": { + "text": "read" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 267, + "startColumn": 1, + "charOffset": 7556, + "charLength": 163, + "snippet": { + "text": "}\n\nstd::size_t file::read(void* buffer, std::size_t count) {\n rwresult result = 0;\n FMT_RETRY(result, FMT_POSIX_CALL(read(fd_, buffer, convert_rwcount(count))));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d3ef17e5376ae78c", + "equalIndicator/v1": "d64dc9700b0b57e958ca281f69ef1600fb7fdfc54dd529ae4c0210b8521c473f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator _Tp' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator _Tp' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 816, + "startColumn": 25, + "charOffset": 25501, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 814, + "startColumn": 1, + "charOffset": 25456, + "charLength": 97, + "snippet": { + "text": "\nstruct its_a_trap {\n template operator T() const {\n auto v = T();\n v.x = 42;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3365f972ecb5ad27", + "equalIndicator/v1": "d65b9d089326504bc1369d2507d50af2d7ed8208845846025ff7d975f4b9f8bc" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 499, + "startColumn": 3, + "charOffset": 15246, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 497, + "startColumn": 1, + "charOffset": 15103, + "charLength": 321, + "snippet": { + "text": " static_assert(parse_test_specs(\"-\").sign() == fmt::sign::none, \"\");\n static_assert(parse_test_specs(\" \").sign() == fmt::sign::space, \"\");\n static_assert(parse_test_specs(\"#\").alt(), \"\");\n static_assert(parse_test_specs(\"0\").align() == fmt::align::numeric, \"\");\n static_assert(parse_test_specs(\"L\").localized(), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "acc6caeaeebd9548", + "equalIndicator/v1": "d678b1572c4b6e06d690d473da3dd0d22677655c782eeacf44d7d9c18f6bab97" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/compile-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 275, + "startColumn": 8, + "charOffset": 10175, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 273, + "startColumn": 1, + "charOffset": 10102, + "charLength": 166, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n auto parse(format_parse_context& ctx) const -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0943c992ebab65a5", + "equalIndicator/v1": "d7c0e9afe8431fbd3ad2a136adbf729dd97f5a279d19462f22290eabecf156ae" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2483, + "startColumn": 8, + "charOffset": 96670, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2481, + "startColumn": 1, + "charOffset": 96635, + "charLength": 149, + "snippet": { + "text": " return ctx.begin();\n }\n auto format(convertible_to_cstring, format_context& ctx) const\n -> decltype(ctx.out()) {\n auto out = ctx.out();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9d321349ff0937f8", + "equalIndicator/v1": "d962a310194f1ff7282c64b9e9bcc7fdb00cbef92e755355327a5e73d7051dd2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'max_size' should be marked [[nodiscard]]", + "markdown": "Function 'max_size' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 455, + "startColumn": 3, + "charOffset": 14919, + "charLength": 6, + "snippet": { + "text": "size_t" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 453, + "startColumn": 1, + "charOffset": 14868, + "charLength": 164, + "snippet": { + "text": " public:\n using typename Allocator::value_type;\n size_t max_size() const noexcept { return MaxSize; }\n value_type* allocate(size_t n) {\n if (n > max_size()) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2029b575109eac6c", + "equalIndicator/v1": "db32fc0ccc638559c1dd4b35763c0f9694818ef2bc95ae86b6a2984518b84526" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use std::make_unique instead", + "markdown": "Use std::make_unique instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 181, + "startColumn": 16, + "charOffset": 4930, + "charLength": 15, + "snippet": { + "text": "std::unique_ptr" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 179, + "startColumn": 1, + "charOffset": 4806, + "charLength": 234, + "snippet": { + "text": "TEST(args_test, move_constructor) {\n using store_type = fmt::dynamic_format_arg_store;\n auto store = std::unique_ptr(new store_type());\n store->push_back(42);\n store->push_back(std::string(\"foo\"));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb2c7258f2ed5067", + "equalIndicator/v1": "db386b587da429db8f9f9362fb932a61143158c936d7ef9d324dda3031b7a8e4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead", + "markdown": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9906, + "startColumn": 11, + "charOffset": 371428, + "charLength": 8, + "snippet": { + "text": "stdlib.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9904, + "startColumn": 1, + "charOffset": 371416, + "charLength": 50, + "snippet": { + "text": "\n\n#include \n\n#if GTEST_OS_WINDOWS_MOBILE" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "94759e0cd0c8655d", + "equalIndicator/v1": "db7179722c61aabe382f8793aabd13634e0b5932e9361ad766cdb1f6204f9ec5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'statement' should be marked [[nodiscard]]", + "markdown": "Function 'statement' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8646, + "startColumn": 3, + "charOffset": 322242, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8644, + "startColumn": 1, + "charOffset": 322199, + "charLength": 202, + "snippet": { + "text": " bool Passed(bool status_ok) override;\n\n const char* statement() const { return statement_; }\n bool spawned() const { return spawned_; }\n void set_spawned(bool is_spawned) { spawned_ = is_spawned; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "94369cd52d6c5480", + "equalIndicator/v1": "dc2f70f99fac32e01d77c7fa6fbfb3025d098a2c571c1c063b92e05eef2198f5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12436, + "startColumn": 3, + "charOffset": 457683, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12434, + "startColumn": 1, + "charOffset": 457649, + "charLength": 194, + "snippet": { + "text": "\n std::set tests;\n for (std::vector::const_iterator name_it = name_vec.begin();\n name_it != name_vec.end(); ++name_it) {\n const std::string& name = *name_it;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d319a73799de9d1", + "equalIndicator/v1": "dd43cec843d012a1a94607dba92c4fa940f49b7592f4bbfc0017ae8175570a83" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3793, + "startColumn": 10, + "charOffset": 142111, + "charLength": 11, + "snippet": { + "text": "std::vector" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 3791, + "startColumn": 1, + "charOffset": 142026, + "charLength": 115, + "snippet": { + "text": " }\n // This code is unreachable but some compilers may not realizes that.\n return std::vector();\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "88f8953e43c8d81a", + "equalIndicator/v1": "dda9bebc85d7d00aae9fa12c89db371a8a596f1ed76596efc9907f72f9c6d1d8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'ad_hoc_test_result' should be marked [[nodiscard]]", + "markdown": "Function 'ad_hoc_test_result' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1007, + "startColumn": 3, + "charOffset": 39409, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1005, + "startColumn": 1, + "charOffset": 39357, + "charLength": 167, + "snippet": { + "text": "\n // Returns the TestResult for the ad hoc test.\n const TestResult* ad_hoc_test_result() const { return &ad_hoc_test_result_; }\n\n // Sets the OS stack trace getter." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8af1828270282112", + "equalIndicator/v1": "def6ac4ab8784a727acf59d4ccfb8d7eecdc2f1c1612ab70f66bf8616cee46f8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies", + "markdown": "Parameter 'code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4254, + "startColumn": 20, + "charOffset": 159764, + "charLength": 13, + "snippet": { + "text": "code_location" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4252, + "startColumn": 1, + "charOffset": 159648, + "charLength": 248, + "snippet": { + "text": " TestInfo* const test_info =\n new TestInfo(test_suite_name, name, type_param, value_param,\n code_location, fixture_class_id, factory);\n GetUnitTestImpl()->AddTestInfo(set_up_tc, tear_down_tc, test_info);\n return test_info;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "88a65456132a60c7", + "equalIndicator/v1": "df1a99f524c7e8e78359025d7300a26de1d8c41fff9c42a8ff11b36099fa000b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13459, + "startColumn": 10, + "charOffset": 495984, + "charLength": 30, + "snippet": { + "text": "ExpectationSet::const_iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13457, + "startColumn": 1, + "charOffset": 495945, + "charLength": 186, + "snippet": { + "text": " expectations.pop_back();\n\n for (ExpectationSet::const_iterator it =\n exp->immediate_prerequisites_.begin();\n it != exp->immediate_prerequisites_.end(); ++it) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b575c5891e8c7432", + "equalIndicator/v1": "e02298b1f8c787af63a8ce651500478533628844f151f597e363d8d124276ab3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'start_timestamp' should be marked [[nodiscard]]", + "markdown": "Function 'start_timestamp' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 965, + "startColumn": 3, + "charOffset": 37639, + "charLength": 12, + "snippet": { + "text": "TimeInMillis" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 963, + "startColumn": 1, + "charOffset": 37546, + "charLength": 204, + "snippet": { + "text": " // Gets the time of the test program start, in ms from the start of the\n // UNIX epoch.\n TimeInMillis start_timestamp() const { return start_timestamp_; }\n\n // Gets the elapsed time, in milliseconds." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d51f692b2d4c7c44", + "equalIndicator/v1": "e0e1c5950adf4f1653b5ecd18bc30e4bd714803d5c799edd42c52e5d3847c12e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'fscanf' used to convert a string to an integer value, but function will not report conversion errors; consider using 'strtol' instead", + "markdown": "'fscanf' used to convert a string to an integer value, but function will not report conversion errors; consider using 'strtol' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2533, + "startColumn": 16, + "charOffset": 97956, + "charLength": 6, + "snippet": { + "text": "fscanf" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2531, + "startColumn": 1, + "charOffset": 97883, + "charLength": 142, + "snippet": { + "text": " auto read_end = pipe.read_end.fdopen(\"r\");\n int n = 0;\n int result = fscanf(read_end.get(), \"%d\", &n);\n (void)result;\n EXPECT_EQ(n, 42);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11cf7b0ddb2d130d", + "equalIndicator/v1": "e15e70c3c77f625974c5cc317589acc9f93f5c621e12235968fe3ff25988e785" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 503, + "startColumn": 3, + "charOffset": 15484, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 501, + "startColumn": 1, + "charOffset": 15369, + "charLength": 317, + "snippet": { + "text": " static_assert(parse_test_specs(\"L\").localized(), \"\");\n static_assert(parse_test_specs(\"42\").width == 42, \"\");\n static_assert(parse_test_specs(\"{42}\").width_ref.index == 42, \"\");\n static_assert(parse_test_specs(\".42\").precision == 42, \"\");\n static_assert(parse_test_specs(\".{42}\").precision_ref.index == 42, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "135825c6cc7311ca", + "equalIndicator/v1": "e2166ad1be3642e559e5d7e0d6b9ac9886ec991c802c723acf24e103d7813c66" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator const char *' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator const char \\*' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2463, + "startColumn": 3, + "charOffset": 96108, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2461, + "startColumn": 1, + "charOffset": 96073, + "charLength": 85, + "snippet": { + "text": "\nstruct convertible_to_cstring {\n operator const char*() const { return \"foo\"; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7ca2c6be25109f77", + "equalIndicator/v1": "e227aa71bd9ed79b65f4a476a0da55e9e885e654de35875361cfa6526f27e4a4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsSetUpEnd' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnEnvironmentsSetUpEnd' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5257, + "startColumn": 8, + "charOffset": 196028, + "charLength": 22, + "snippet": { + "text": "OnEnvironmentsSetUpEnd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5255, + "startColumn": 1, + "charOffset": 195872, + "charLength": 306, + "snippet": { + "text": " void OnTestIterationStart(const UnitTest& unit_test, int iteration) override;\n void OnEnvironmentsSetUpStart(const UnitTest& unit_test) override;\n void OnEnvironmentsSetUpEnd(const UnitTest& unit_test) override;\n// Legacy API is deprecated but still available\n#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "832a535a5c4da944", + "equalIndicator/v1": "e2502dfc5e1add98cf42fd1f2528eed7c2c2dec6eb4cedcb4f912fe3c813d1b4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdarg.h'; consider using 'cstdarg' instead", + "markdown": "Inclusion of deprecated C++ header 'stdarg.h'; consider using 'cstdarg' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 312, + "startColumn": 11, + "charOffset": 13644, + "charLength": 8, + "snippet": { + "text": "stdarg.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 310, + "startColumn": 1, + "charOffset": 13614, + "charLength": 78, + "snippet": { + "text": "\n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2bfeed94b6720b2b", + "equalIndicator/v1": "e26661e25fe9c4bd55b32aeeaab019198c91796c6cbb7086942db36cfac5eb72" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdarg.h'; consider using 'cstdarg' instead", + "markdown": "Inclusion of deprecated C++ header 'stdarg.h'; consider using 'cstdarg' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8289, + "startColumn": 12, + "charOffset": 309884, + "charLength": 8, + "snippet": { + "text": "stdarg.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8287, + "startColumn": 1, + "charOffset": 309845, + "charLength": 71, + "snippet": { + "text": "# endif // GTEST_OS_LINUX\n\n# include \n\n# if GTEST_OS_WINDOWS" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5804fedfcac1a8b3", + "equalIndicator/v1": "e26b999ec58a3ced49091e9b3ccd11b76aabd43d15cc622be17fa3ff2d05a323" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Suspicious #include of file with '.cc' extension", + "markdown": "Suspicious #include of file with '.cc' extension" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/posix-mock-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 11, + "charOffset": 444, + "charLength": 1, + "snippet": { + "text": "." + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 415, + "charLength": 57, + "snippet": { + "text": "#include \n\n#include \"../src/os.cc\"\n\n#ifdef _WIN32" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eaae20bebec51ace", + "equalIndicator/v1": "e26d4581374fedd1cd1a1fcc5299e84415e8d2d895c81a26f3fb0ca605b171bb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'format' can be made static", + "markdown": "Method 'format' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 615, + "startColumn": 8, + "charOffset": 18674, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 613, + "startColumn": 1, + "charOffset": 18662, + "charLength": 148, + "snippet": { + "text": " }\n\n auto format(convertible_to_pointer_formattable, format_context& ctx) const\n -> decltype(ctx.out()) {\n return copy(\"test\", ctx.out());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "969d2895f592849a", + "equalIndicator/v1": "e279e1cc23291d1173b223f35d8fdb3a0ed3a899fa21ec5c694eb450c5fe85ae" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 184, + "startColumn": 3, + "charOffset": 5421, + "charLength": 12, + "snippet": { + "text": "EXPECT_WRITE" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 182, + "startColumn": 1, + "charOffset": 5357, + "charLength": 218, + "snippet": { + "text": "// Tests EXPECT_WRITE.\nTEST(gtest_extra_test, expect_write) {\n EXPECT_WRITE(stdout, do_nothing(), \"\");\n EXPECT_WRITE(stdout, std::printf(\"test\"), \"test\");\n EXPECT_WRITE(stderr, std::fprintf(stderr, \"test\"), \"test\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e6c6ad4ba135f234", + "equalIndicator/v1": "e38361089f016289ebb12fd9ebdc1e05a6d96833dbcce64e825a8b9c72f550f7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Escaped string literal can be written as a raw string literal", + "markdown": "Escaped string literal can be written as a raw string literal" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5750, + "startColumn": 18, + "charOffset": 215039, + "charLength": 3, + "snippet": { + "text": "\"\\\"" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5748, + "startColumn": 1, + "charOffset": 214932, + "charLength": 271, + "snippet": { + "text": " *stream << \" \";\n const std::string detail = location + \"\\n\" + part.message();\n OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8b5c573debfd90b0", + "equalIndicator/v1": "e42c87d90dec6cda8bb5a530b04ee0ea193ee93bc7655d8c794fb1545bd280db" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 159, + "startColumn": 8, + "charOffset": 4331, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 157, + "startColumn": 1, + "charOffset": 4257, + "charLength": 161, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a23bc82a2935ef6d", + "equalIndicator/v1": "e4995d10d8518a0207fb03d90fd6149578e1b916678a50190feb15e493927886" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of 'size'", + "markdown": "The 'empty' method should be used to check for emptiness instead of 'size'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13696, + "startColumn": 7, + "charOffset": 504577, + "charLength": 21, + "snippet": { + "text": "untyped_expectations_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13694, + "startColumn": 1, + "charOffset": 504475, + "charLength": 227, + "snippet": { + "text": " // See the definition of untyped_expectations_ for why access to it\n // is unprotected here.\n if (untyped_expectations_.size() == 0) {\n // No expectation is set on this mock method - we have an\n // uninteresting call." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae843bb4fb254ecc", + "equalIndicator/v1": "e4a8a782b0b9240db5a71050e294bab4d4dd6a380d0c6732447b7983e708c53e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'signed char' to 'long long' conversion; consider casting to 'unsigned char' first.", + "markdown": "'signed char' to 'long long' conversion; consider casting to 'unsigned char' first." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 349, + "startColumn": 43, + "charOffset": 12130, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 347, + "startColumn": 1, + "charOffset": 12023, + "charLength": 242, + "snippet": { + "text": " }\n if (sizeof(U) <= sizeof(int) && sizeof(int) < sizeof(T)) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(\n static_cast::type>(value));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a355631044edf3d", + "equalIndicator/v1": "e75d7d8cc866b690d6391b82f2b3d76356465a4c10b04f5e52e4cb5b72a26653" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'testing::internal::TestEventRepeater::OnTestProgramEnd' has a definition with different parameter names", + "markdown": "Function 'testing::internal::TestEventRepeater::OnTestProgramEnd' has a definition with different parameter names" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5274, + "startColumn": 8, + "charOffset": 197004, + "charLength": 16, + "snippet": { + "text": "OnTestProgramEnd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5272, + "startColumn": 1, + "charOffset": 196849, + "charLength": 219, + "snippet": { + "text": " void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) override;\n void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;\n void OnTestProgramEnd(const UnitTest& unit_test) override;\n\n private:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ec06d67d9f184e65", + "equalIndicator/v1": "e8bd8aa44a23834be5de7293349d8d684bcfb8746f22ddf6a24a1cc5783a0d23" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'successful_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'successful_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 940, + "startColumn": 3, + "charOffset": 36911, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 938, + "startColumn": 1, + "charOffset": 36866, + "charLength": 119, + "snippet": { + "text": "\n // Gets the number of successful tests.\n int successful_test_count() const;\n\n // Gets the number of skipped tests." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "baebc824cf406ddd", + "equalIndicator/v1": "ea93cb0be1ecaba39615e7aeb443b4ae489e744552b146b74f6794ab0b428f6f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use auto when declaring iterators", + "markdown": "Use auto when declaring iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2781, + "startColumn": 5, + "charOffset": 105818, + "charLength": 15, + "snippet": { + "text": "IdMap::iterator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2779, + "startColumn": 1, + "charOffset": 105764, + "charLength": 164, + "snippet": { + "text": " public:\n size_t GetId(const std::string& str) {\n IdMap::iterator it = ids_.find(str);\n if (it != ids_.end()) return it->second;\n size_t id = ids_.size();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3aba45cb86f0e331", + "equalIndicator/v1": "eb16a3235700c5d6f6301be80588889bc194b808dbfc8d887ed2dc7b45f6058a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2574, + "startColumn": 3, + "charOffset": 99198, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2572, + "startColumn": 1, + "charOffset": 99146, + "charLength": 176, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{}\", d), \"4294967295\");\n\n static_assert(fmt::is_formattable, char>{}, \"\");\n static_assert(fmt::is_formattable, char>{}, \"\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7b0760f15d39097a", + "equalIndicator/v1": "ebef465afdf66288592cd7b496f31e4c03faa01b2db93c42188dcb02184bff00" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 812, + "startColumn": 11, + "charOffset": 32106, + "charLength": 28, + "snippet": { + "text": "~OsStackTraceGetterInterface" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 810, + "startColumn": 1, + "charOffset": 32052, + "charLength": 160, + "snippet": { + "text": " public:\n OsStackTraceGetterInterface() {}\n virtual ~OsStackTraceGetterInterface() {}\n\n // Returns the current OS stack trace as an std::string. Parameters:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d9ba9bcb1a705e77", + "equalIndicator/v1": "ecac10e9aecb75754fcd6eb43a57bcb0fb83d3f25fbd6210d837a7501fa7b346" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead", + "markdown": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12549, + "startColumn": 11, + "charOffset": 462299, + "charLength": 8, + "snippet": { + "text": "limits.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12547, + "startColumn": 1, + "charOffset": 462287, + "charLength": 70, + "snippet": { + "text": "\n\n#include \n#include // NOLINT\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4a7fee8f19532543", + "equalIndicator/v1": "ecf6e58cd41bf5569a62a574029173df8ca02980dd0eae83dc7185a54c0a11a4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'elapsed_time' should be marked [[nodiscard]]", + "markdown": "Function 'elapsed_time' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 968, + "startColumn": 3, + "charOffset": 37753, + "charLength": 12, + "snippet": { + "text": "TimeInMillis" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 966, + "startColumn": 1, + "charOffset": 37705, + "charLength": 184, + "snippet": { + "text": "\n // Gets the elapsed time, in milliseconds.\n TimeInMillis elapsed_time() const { return elapsed_time_; }\n\n // Returns true if and only if the unit test passed (i.e. all test suites" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ef0f5e0c460b2b9", + "equalIndicator/v1": "eda24db6bc78a3707a721232a86b8767126306032cb023e86fd64b8661e3c63d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'write_fd' should be marked [[nodiscard]]", + "markdown": "Function 'write_fd' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8655, + "startColumn": 3, + "charOffset": 322721, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8653, + "startColumn": 1, + "charOffset": 322630, + "charLength": 182, + "snippet": { + "text": " int read_fd() const { return read_fd_; }\n void set_read_fd(int fd) { read_fd_ = fd; }\n int write_fd() const { return write_fd_; }\n void set_write_fd(int fd) { write_fd_ = fd; }\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bdfe9115942d3a0f", + "equalIndicator/v1": "efb320fb1b5be3f30edeff2fde93666bfc5f2d80bf8a69e79eeb67a9d4910cd7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'end' should be marked [[nodiscard]]", + "markdown": "Function 'end' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 147, + "startColumn": 3, + "charOffset": 4776, + "charLength": 4, + "snippet": { + "text": "auto" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 145, + "startColumn": 1, + "charOffset": 4712, + "charLength": 129, + "snippet": { + "text": "\n auto begin() const -> const_iterator { return c.begin(); }\n auto end() const -> const_iterator { return c.end(); }\n\n private:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8baedb3daab31e26", + "equalIndicator/v1": "f0123ebdab7d642b04f6222979c15387d720dc4d5283c912c026eab99d066832" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead", + "markdown": "Inclusion of deprecated C++ header 'limits.h'; consider using 'climits' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8283, + "startColumn": 12, + "charOffset": 309792, + "charLength": 8, + "snippet": { + "text": "limits.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8281, + "startColumn": 1, + "charOffset": 309741, + "charLength": 81, + "snippet": { + "text": "# include \n# include \n# include \n\n# if GTEST_OS_LINUX" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ac93b02f33fd894c", + "equalIndicator/v1": "f0409af01318b998d8a56046fe1891fb7e42e09e089f21a10cd1cae1635bc604" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Macro argument should be enclosed in parentheses", + "markdown": "Macro argument should be enclosed in parentheses" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 24, + "charOffset": 1554, + "charLength": 6, + "snippet": { + "text": "format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1415, + "charLength": 247, + "snippet": { + "text": "#define EXPECT_PRINTF(expected_output, format, arg) \\\n EXPECT_EQ(expected_output, test_sprintf(format, arg)) \\\n << \"format: \" << format; \\\n EXPECT_EQ(expected_output, fmt::sprintf(make_positional(format), arg))\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f90c7a0e67024c11", + "equalIndicator/v1": "f05bdd651408b00fdd19dd8e9fb2fa50ccf68e4290219e1d64cc4f102a0235c7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'signed char' to 'unsigned long long' conversion; consider casting to 'unsigned char' first.", + "markdown": "'signed char' to 'unsigned long long' conversion; consider casting to 'unsigned char' first." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 343, + "startColumn": 54, + "charOffset": 11847, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 341, + "startColumn": 1, + "charOffset": 11681, + "charLength": 280, + "snippet": { + "text": " if (const_check(max <= static_cast(max_value()))) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(value);\n } else if (const_check(max <= max_value())) {\n signed_value = static_cast(value);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5a047593acd5b830", + "equalIndicator/v1": "f08ea7846a6386f0c38c934f4b986201056f2fe43a045c8f04e3f4c98e95b701" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies", + "markdown": "Parameter 'code_location' is passed by value and only copied once; consider moving it to avoid unnecessary copies" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2006, + "startColumn": 24, + "charOffset": 77742, + "charLength": 13, + "snippet": { + "text": "code_location" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2004, + "startColumn": 1, + "charOffset": 77574, + "charLength": 186, + "snippet": { + "text": " CodeLocation code_location) {\n GetUnitTestImpl()->type_parameterized_test_registry().RegisterTestSuite(\n test_suite_name, code_location);\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dddd4a665803a90d", + "equalIndicator/v1": "f0e2bdb6951d1ae15274789166f60a1b2f7fb4c2a2e3a36c3b7d901c07bc58a3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator basic_string<_E, char_traits<_E>, allocator<_E>>' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator basic_string\\<_E, char_traits\\<_E\\>, allocator\\<_E\\>\\>' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 260, + "startColumn": 3, + "charOffset": 7984, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 258, + "startColumn": 1, + "charOffset": 7941, + "charLength": 88, + "snippet": { + "text": " auto end() const -> const path_like*;\n\n operator std::basic_string() const;\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "edc64bc5b364ae16", + "equalIndicator/v1": "f0e77decab16e9498e64729d76c6813eb3c0c89d4cfd2350e5c4e440ac53b66c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'Failed' should be marked [[nodiscard]]", + "markdown": "Function 'Failed' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 976, + "startColumn": 3, + "charOffset": 38082, + "charLength": 4, + "snippet": { + "text": "bool" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 974, + "startColumn": 1, + "charOffset": 37949, + "charLength": 234, + "snippet": { + "text": " // Returns true if and only if the unit test failed (i.e. some test suite\n // failed or something outside of all tests failed).\n bool Failed() const {\n return failed_test_suite_count() > 0 || ad_hoc_test_result()->Failed();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "501900bb78e61de9", + "equalIndicator/v1": "f112ead70fe145ba97e747426b90242ae2a8dffacfa8103467c4e53366e67889" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead", + "markdown": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 314, + "startColumn": 11, + "charOffset": 13683, + "charLength": 8, + "snippet": { + "text": "stdlib.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 312, + "startColumn": 1, + "charOffset": 13634, + "charLength": 95, + "snippet": { + "text": "#include \n#include \n#include \n#include \n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "46ecc73ae4a052ea", + "equalIndicator/v1": "f1522cefda9a36db9b30ac40356fee13a20c0d6787ac8d53d5689fab7d7b6587" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'disabled_test_count' should be marked [[nodiscard]]", + "markdown": "Function 'disabled_test_count' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 952, + "startColumn": 3, + "charOffset": 37262, + "charLength": 3, + "snippet": { + "text": "int" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 950, + "startColumn": 1, + "charOffset": 37219, + "charLength": 139, + "snippet": { + "text": "\n // Gets the number of disabled tests.\n int disabled_test_count() const;\n\n // Gets the number of tests to be printed in the XML report." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0b6e2dc1d4b791b1", + "equalIndicator/v1": "f205790cc49df3003ef5162388932c54b57f7dd193f94cf6aab0e8545620ce75" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead", + "markdown": "Inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 429, + "startColumn": 12, + "charOffset": 17232, + "charLength": 7, + "snippet": { + "text": "errno.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 427, + "startColumn": 1, + "charOffset": 17201, + "charLength": 82, + "snippet": { + "text": "\n#ifndef _WIN32_WCE\n# include \n#endif // !_WIN32_WCE\n#include " + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25e097d04871f478", + "equalIndicator/v1": "f24f4464349e8fb324b817280948a76ddbeb9a5963029fb80668d58ccbf3fcda" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Static member accessed through instance", + "markdown": "Static member accessed through instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7628, + "startColumn": 7, + "charOffset": 285970, + "charLength": 24, + "snippet": { + "text": "XmlUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7626, + "startColumn": 1, + "charOffset": 285900, + "charLength": 214, + "snippet": { + "text": " std::stringstream stream;\n if (output_format == \"xml\") {\n XmlUnitTestResultPrinter(\n UnitTestOptions::GetAbsolutePathToOutputFile().c_str())\n .PrintXmlTestsList(&stream, test_suites_);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3dffb6c20dd98816", + "equalIndicator/v1": "f251dad320e5708143a68ec93befaf1469f19d7f9849d27535ffd0476fa686cd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 497, + "startColumn": 3, + "charOffset": 15105, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 495, + "startColumn": 1, + "charOffset": 14963, + "charLength": 330, + "snippet": { + "text": " static_assert(parse_test_specs(\"*^\").fill_unit() == '*', \"\");\n static_assert(parse_test_specs(\"+\").sign() == fmt::sign::plus, \"\");\n static_assert(parse_test_specs(\"-\").sign() == fmt::sign::none, \"\");\n static_assert(parse_test_specs(\" \").sign() == fmt::sign::space, \"\");\n static_assert(parse_test_specs(\"#\").alt(), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5806fb49c5181a52", + "equalIndicator/v1": "f251f641ece8586936a8f295f821894ef963dfac6aa4e26bb5ccda4493dc25fd" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator float' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator float' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 303, + "startColumn": 3, + "charOffset": 9254, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 301, + "startColumn": 1, + "charOffset": 9188, + "charLength": 179, + "snippet": { + "text": "\n constexpr explicit slow_float(float val = 0) : value(val) {}\n operator float() const { return value; }\n auto operator-() const -> slow_float { return slow_float(-value); }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b9971839d506f120", + "equalIndicator/v1": "f26254228334dbf4dd6cbd2c3a6f5f17b6a202a3a1b4466cba7ac290b97d6a11" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial destructor", + "markdown": "Use '= default' to define a trivial destructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1459, + "startColumn": 13, + "charOffset": 57541, + "charLength": 21, + "snippet": { + "text": "~AbstractSocketWriter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1457, + "startColumn": 1, + "charOffset": 57487, + "charLength": 118, + "snippet": { + "text": " class AbstractSocketWriter {\n public:\n virtual ~AbstractSocketWriter() {}\n\n // Sends a string to the socket." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9fb09175a4f36931", + "equalIndicator/v1": "f2ae10868bcfdfbe228c966cb9d8a219168fddaf6813c65c8cd18539ce20b61a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use range-based for loop instead", + "markdown": "Use range-based for loop instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5503, + "startColumn": 3, + "charOffset": 205962, + "charLength": 3, + "snippet": { + "text": "for" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5501, + "startColumn": 1, + "charOffset": 205946, + "charLength": 103, + "snippet": { + "text": " Message m;\n\n for (size_t i = 0; i < str.size(); ++i) {\n const char ch = str[i];\n switch (ch) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5149ca185d9d1ea0", + "equalIndicator/v1": "f34f385bd1a3e2f5525eec9998fcf7dc0f6e1ec32da35534aa77174e3eda3dce" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object", + "markdown": "The 'empty' method should be used to check for emptiness instead of comparing to an empty object" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7083, + "startColumn": 14, + "charOffset": 264566, + "charLength": 13, + "snippet": { + "text": "output_format" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7081, + "startColumn": 1, + "charOffset": 264416, + "charLength": 299, + "snippet": { + "text": " listeners()->SetDefaultXmlGenerator(new JsonUnitTestResultPrinter(\n UnitTestOptions::GetAbsolutePathToOutputFile().c_str()));\n } else if (output_format != \"\") {\n GTEST_LOG_(WARNING) << \"WARNING: unrecognized output format \\\"\"\n << output_format << \"\\\" ignored.\";" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "31afd5d86cfaee48", + "equalIndicator/v1": "f3b0fffbf2b29fd2a1ee3488cb6c1e7a9b4fcfcb6a984b06005c665b6458c49f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 540, + "startColumn": 3, + "charOffset": 16684, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 538, + "startColumn": 1, + "charOffset": 16598, + "charLength": 171, + "snippet": { + "text": " static_assert(parse_string(\"{}\"), \"\");\n static_assert(parse_string(\"{42}\"), \"\");\n static_assert(parse_string(\"{foo}\"), \"\");\n static_assert(parse_string(\"{:}\"), \"\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0b9c96d6c46cbf58", + "equalIndicator/v1": "f3c5832705eef885e4dab4dfc458040ddc27a965e2615d49a79af380ec041847" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "'operator char *' must be marked explicit to avoid unintentional implicit conversions", + "markdown": "'operator char \\*' must be marked explicit to avoid unintentional implicit conversions" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2421, + "startColumn": 3, + "charOffset": 94949, + "charLength": 8, + "snippet": { + "text": "operator" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2419, + "startColumn": 1, + "charOffset": 94905, + "charLength": 111, + "snippet": { + "text": "\nstruct convertible_to_nonconst_cstring {\n operator char*() const {\n static char c[] = \"bar\";\n return c;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1f7309625240bf4f", + "equalIndicator/v1": "f454266f486de85a779d2efb037272fba5f62d0b3247b243443fb56dbe2825c4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 496, + "startColumn": 3, + "charOffset": 15035, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 494, + "startColumn": 1, + "charOffset": 14891, + "charLength": 352, + "snippet": { + "text": " static_assert(parse_test_specs(\"<\").align() == fmt::align::left, \"\");\n static_assert(parse_test_specs(\"*^\").fill_unit() == '*', \"\");\n static_assert(parse_test_specs(\"+\").sign() == fmt::sign::plus, \"\");\n static_assert(parse_test_specs(\"-\").sign() == fmt::sign::none, \"\");\n static_assert(parse_test_specs(\" \").sign() == fmt::sign::space, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4d126c94367b3e41", + "equalIndicator/v1": "f4b947d0d328e4731d10868c88f7302d0db69daf92771f5fe9a46bc27799315d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of 'size'", + "markdown": "The 'empty' method should be used to check for emptiness instead of 'size'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12915, + "startColumn": 7, + "charOffset": 475643, + "charLength": 12, + "snippet": { + "text": "param_values" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12913, + "startColumn": 1, + "charOffset": 475491, + "charLength": 275, + "snippet": { + "text": " const Strings& param_values) {\n std::string result = ConvertIdentifierNameToWords(matcher_name);\n if (param_values.size() >= 1) result += \" \" + JoinAsTuple(param_values);\n return negation ? \"not (\" + result + \")\" : result;\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "64a771b1bf66562c", + "equalIndicator/v1": "f50a663eaa2f7492d1c15b315a7445c8bf0c9c4a21d7aa60d8ea2e54da914127" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Throwing an exception whose type 'int' is not derived from 'std::exception'", + "markdown": "Throwing an exception whose type 'int' is not derived from 'std::exception'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 208, + "startColumn": 50, + "charOffset": 6484, + "charLength": 1, + "snippet": { + "text": "1" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 206, + "startColumn": 1, + "charOffset": 6298, + "charLength": 315, + "snippet": { + "text": " EXPECT_THROW_MSG(throw runtime_error(\"\"), runtime_error, \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(n++, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(throw 1, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(\n EXPECT_THROW_MSG(throw runtime_error(\"a\"), runtime_error, \"b\"), \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "362438472f42d332", + "equalIndicator/v1": "f5e618af6cc57afda523a31bad7722cb9d41b6bbb4de6ae72cb97f4030d79688" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Throwing an exception whose type 'const char *' is not derived from 'std::exception'", + "markdown": "Throwing an exception whose type 'const char \\*' is not derived from 'std::exception'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 154, + "startColumn": 49, + "charOffset": 4235, + "charLength": 14, + "snippet": { + "text": "\"deal with it\"" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 152, + "startColumn": 1, + "charOffset": 4141, + "charLength": 115, + "snippet": { + "text": "struct copy_throwable {\n copy_throwable() {}\n copy_throwable(const copy_throwable&) { throw \"deal with it\"; }\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d717bb25e76fbd3a", + "equalIndicator/v1": "f6fba51a11081e21eab6f3e2d403b0f99407137a7aeb8548e9cc68f6f4a2b44d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead", + "markdown": "Inclusion of deprecated C++ header 'stdlib.h'; consider using 'cstdlib' instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 432, + "startColumn": 11, + "charOffset": 17294, + "charLength": 8, + "snippet": { + "text": "stdlib.h" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 430, + "startColumn": 1, + "charOffset": 17241, + "charLength": 140, + "snippet": { + "text": "#endif // !_WIN32_WCE\n#include \n#include // For strtoll/_strtoul64/malloc/free.\n#include // For memmove.\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f05aca66d07a6738", + "equalIndicator/v1": "f72d6b8a4d47abb71f703a941a04dea8fceaf98e98bb0b961124d7a1273cae34" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Constructor does not initialize these fields: old_reporter_", + "markdown": "Constructor does not initialize these fields: old_reporter_" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2291, + "startColumn": 1, + "charOffset": 88097, + "charLength": 66, + "snippet": { + "text": "ScopedFakeTestPartResultReporter::ScopedFakeTestPartResultReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2289, + "startColumn": 1, + "charOffset": 88015, + "charLength": 251, + "snippet": { + "text": "// Google Test. The 'result' parameter specifies where to report the\n// results.\nScopedFakeTestPartResultReporter::ScopedFakeTestPartResultReporter(\n InterceptMode intercept_mode, TestPartResultArray* result)\n : intercept_mode_(intercept_mode)," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "93615b4e4538bca5", + "equalIndicator/v1": "f7544e34708549d386b8dcd825a46256d0fad2f2419460822905be5149e8df3b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 825, + "startColumn": 22, + "charOffset": 25660, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 823, + "startColumn": 1, + "charOffset": 25576, + "charLength": 171, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b09cfddffd94870d", + "equalIndicator/v1": "f7b475606877c0d507c5d960f4d456f42253ade9e47e9d3d84e4867ea03e9d72" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Avoid repeating the return type from the declaration; use a braced initializer list instead", + "markdown": "Avoid repeating the return type from the declaration; use a braced initializer list instead" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13828, + "startColumn": 14, + "charOffset": 509441, + "charLength": 11, + "snippet": { + "text": "Expectation" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13826, + "startColumn": 1, + "charOffset": 509350, + "charLength": 118, + "snippet": { + "text": " it != untyped_expectations_.end(); ++it) {\n if (it->get() == exp) {\n return Expectation(*it);\n }\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aebcdd7e1a1c3fdd", + "equalIndicator/v1": "f8477877253fc6574be19be332e28cdab186709071dabc9d7fd6d97c7d4f96d8" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use '= default' to define a trivial default constructor", + "markdown": "Use '= default' to define a trivial default constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14187, + "startColumn": 14, + "charOffset": 523526, + "charLength": 11, + "snippet": { + "text": "Expectation" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 14185, + "startColumn": 1, + "charOffset": 523510, + "charLength": 59, + "snippet": { + "text": "}\n\nExpectation::Expectation() {}\n\nExpectation::Expectation(" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b5a65f168ebec1c3", + "equalIndicator/v1": "f9b49c521101eef9756052c60173fd1c3dce542b3832da265ecbcb718b7e7657" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'parse' can be made static", + "markdown": "Method 'parse' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 554, + "startColumn": 22, + "charOffset": 17065, + "charLength": 5, + "snippet": { + "text": "parse" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 552, + "startColumn": 1, + "charOffset": 16974, + "charLength": 178, + "snippet": { + "text": "FMT_BEGIN_NAMESPACE\ntemplate <> struct formatter {\n FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {\n return ctx.begin();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "31115aff2312621c", + "equalIndicator/v1": "fa01de91757935c3c8644519b48c28c76afd9b3dae917b0bad36c4303ed3aeb6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'do_grouping' should be marked [[nodiscard]]", + "markdown": "Function 'do_grouping' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 375, + "startColumn": 3, + "charOffset": 12448, + "charLength": 11, + "snippet": { + "text": "std::string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 373, + "startColumn": 1, + "charOffset": 12377, + "charLength": 186, + "snippet": { + "text": " protected:\n Char do_decimal_point() const override { return '.'; }\n std::string do_grouping() const override { return \"\"; }\n Char do_thousands_sep() const override { return ','; }\n};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa816d4358c12384", + "equalIndicator/v1": "fb08fb5ed41e78c2a9eca426a761fedb4781d5ab980c6d24e16e97afd489d083" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant string initialization", + "markdown": "Redundant string initialization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 207, + "startColumn": 27, + "charOffset": 6388, + "charLength": 16, + "snippet": { + "text": "EXPECT_THROW_MSG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 205, + "startColumn": 1, + "charOffset": 6270, + "charLength": 268, + "snippet": { + "text": " using std::runtime_error;\n EXPECT_THROW_MSG(throw runtime_error(\"\"), runtime_error, \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(n++, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(EXPECT_THROW_MSG(throw 1, runtime_error, \"\"), \"\");\n EXPECT_NONFATAL_FAILURE(" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7c933eab535d30ba", + "equalIndicator/v1": "fb6ed8d8d3d7b09fb59f9be361c996491331344610940f2ddc74a650e51ed989" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Escaped string literal can be written as a raw string literal", + "markdown": "Escaped string literal can be written as a raw string literal" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6211, + "startColumn": 29, + "charOffset": 232743, + "charLength": 7, + "snippet": { + "text": "\" \\\"" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6209, + "startColumn": 1, + "charOffset": 232599, + "charLength": 273, + "snippet": { + "text": " const std::string message = EscapeJson(location + \"\\n\" + part.message());\n *stream << kIndent << \" {\\n\"\n << kIndent << \" \\\"failure\\\": \\\"\" << message << \"\\\",\\n\"\n << kIndent << \" \\\"type\\\": \\\"\\\"\\n\"\n << kIndent << \" }\";" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c8a82891c17359bf", + "equalIndicator/v1": "fb7f3ee3bd245ea597db88d873431f3956b4a22f58acd8bb9ddfb155c3d9c509" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'what' should be marked [[nodiscard]]", + "markdown": "Function 'what' should be marked \\[\\[nodiscard\\]\\]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 310, + "startColumn": 3, + "charOffset": 11420, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 308, + "startColumn": 1, + "charOffset": 11360, + "charLength": 178, + "snippet": { + "text": " public:\n my_exception(const std::string& s) : msg(s) {}\n const char* what() const noexcept override;\n};\nconst char* my_exception::what() const noexcept { return msg.c_str(); }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4c27a3b23c56a358", + "equalIndicator/v1": "fc3dfaae957d1b80efdb6192c3dd4f6bd2fb0903d4962fe866ad2bcbe43c3cc6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "The 'empty' method should be used to check for emptiness instead of 'length'", + "markdown": "The 'empty' method should be used to check for emptiness instead of 'length'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6854, + "startColumn": 7, + "charOffset": 255277, + "charLength": 20, + "snippet": { + "text": "internal::GTEST_FLAG" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6852, + "startColumn": 1, + "charOffset": 255206, + "charLength": 198, + "snippet": { + "text": "int UnitTest::Run() {\n const bool in_death_test_child_process =\n internal::GTEST_FLAG(internal_run_death_test).length() > 0;\n\n // Google Test implements this protocol for catching that a test" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0012d01832c76390", + "equalIndicator/v1": "fcfd42110c6544d10eae55967c0569b52f883adecbfbdad9ebc50f4964acd349" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'on_format_specs' can be made static", + "markdown": "Method 'on_format_specs' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 519, + "startColumn": 18, + "charOffset": 16083, + "charLength": 15, + "snippet": { + "text": "on_format_specs" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 517, + "startColumn": 1, + "charOffset": 16006, + "charLength": 170, + "snippet": { + "text": " constexpr void on_replacement_field(int, const char*) {}\n\n constexpr auto on_format_specs(int, const char* begin, const char*) -> const\n char* {\n return begin;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ddc03e2ba334ee70", + "equalIndicator/v1": "feb7f3ec12b410e938ff6f2a7a3dd96565f095baa9a0e6f9f4ff229c24da4893" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Redundant get() call on smart pointer", + "markdown": "Redundant get() call on smart pointer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7068, + "startColumn": 7, + "charOffset": 263835, + "charLength": 29, + "snippet": { + "text": "internal_run_death_test_flag_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 7066, + "startColumn": 1, + "charOffset": 263716, + "charLength": 212, + "snippet": { + "text": "// subprocess. Must not be called before InitGoogleTest.\nvoid UnitTestImpl::SuppressTestEventsIfInSubprocess() {\n if (internal_run_death_test_flag_.get() != nullptr)\n listeners()->SuppressEventForwarding();\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d5b3c92636030840", + "equalIndicator/v1": "feeda0bafb9d9666f288cdbeea1e3e20fffc00a00546774d40caacc1d794fff5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Declaration uses identifier '_', which is reserved in the global namespace; cannot be fixed automatically", + "markdown": "Declaration uses identifier '_', which is reserved in the global namespace; cannot be fixed automatically" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/posix-mock-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 16, + "charOffset": 623, + "charLength": 1, + "snippet": { + "text": "_" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 581, + "charLength": 89, + "snippet": { + "text": "using fmt::buffered_file;\n\nusing testing::_;\nusing testing::Return;\nusing testing::StrEq;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2c8ecb35a27bc651", + "equalIndicator/v1": "ff0c110c42748d9605c513f4a2a284be6ab9dbfcdad91911f2f9917910848185" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "ClangTidy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Use unary 'static_assert' when the string literal is an empty string", + "markdown": "Use unary 'static_assert' when the string literal is an empty string" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 479, + "startColumn": 3, + "charOffset": 14239, + "charLength": 13, + "snippet": { + "text": "static_assert" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 477, + "startColumn": 1, + "charOffset": 14125, + "charLength": 295, + "snippet": { + "text": "TEST(base_test, constexpr_parse_arg_id) {\n static_assert(parse_arg_id(\"42:\").res == arg_id_result::index, \"\");\n static_assert(parse_arg_id(\"42:\").index == 42, \"\");\n static_assert(parse_arg_id(\"foo:\").res == arg_id_result::name, \"\");\n static_assert(parse_arg_id(\"foo:\").name.size() == 3, \"\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de0d6f76c88d54d8", + "equalIndicator/v1": "ff4336ecc374c60aadeec7cd77013a3d79cf21336e42e664e485e599058b3fa5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "Clazy", + "kind": "fail", + "level": "warning", + "message": { + "text": "Mixing iterators with const_iterators", + "markdown": "Mixing iterators with const_iterators" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/scan-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 13, + "charOffset": 436, + "charLength": 3, + "snippet": { + "text": "end" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 357, + "charLength": 198, + "snippet": { + "text": " fmt::string_view s = \"foo\";\n auto end = fmt::scan_to(s, \"foo\");\n EXPECT_EQ(end, s.end());\n EXPECT_THROW_MSG(fmt::scan(\"fob\", \"foo\"), fmt::format_error,\n \"invalid input\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9e5f53bb108acdcb", + "equalIndicator/v1": "3f638fb0849c262df1e0a9acce46b181d1acddfe1c11995e2b247f05a36b32f4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::JsonUnitTestResultPrinter' can be made final", + "markdown": "Class 'testing::internal::JsonUnitTestResultPrinter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5918, + "startColumn": 7, + "charOffset": 221654, + "charLength": 25, + "snippet": { + "text": "JsonUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5916, + "startColumn": 1, + "charOffset": 221602, + "charLength": 183, + "snippet": { + "text": "\n// This class generates an JSON output file.\nclass JsonUnitTestResultPrinter : public EmptyTestEventListener {\n public:\n explicit JsonUnitTestResultPrinter(const char* output_file);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae20f6c03072c863", + "equalIndicator/v1": "01429621f6ddcb1125c7e9adde8fc92671a9c66921e50ed977155d4315f8ce08" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::GoogleTestFailureReporter' can be made final", + "markdown": "Class 'testing::internal::GoogleTestFailureReporter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12755, + "startColumn": 7, + "charOffset": 469193, + "charLength": 25, + "snippet": { + "text": "GoogleTestFailureReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12753, + "startColumn": 1, + "charOffset": 469047, + "charLength": 283, + "snippet": { + "text": "// user can define another class in a similar fashion if they intend to\n// use Google Mock with a testing framework other than Google Test.\nclass GoogleTestFailureReporter : public FailureReporterInterface {\n public:\n void ReportFailure(FailureType type, const char* file, int line," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b383c5e9b6b6777f", + "equalIndicator/v1": "05e8e30969c296293c5afe1117d851a525a3774a9c2d1dbd26824b7d8a89d753" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::ScopedFakeTestPartResultReporter' can be made final", + "markdown": "Class 'testing::ScopedFakeTestPartResultReporter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 18, + "charOffset": 6076, + "charLength": 32, + "snippet": { + "text": "ScopedFakeTestPartResultReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 5922, + "charLength": 242, + "snippet": { + "text": "// all generated failures. The scope of this mock object can be controlled with\n// the second argument to the two arguments constructor.\nclass GTEST_API_ ScopedFakeTestPartResultReporter\n : public TestPartResultReporterInterface {\n public:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "65325c538549641d", + "equalIndicator/v1": "07a61d8a18472c849edfb15a551e7a75bfcfa2c4021115cf26871043e566e7d0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::XmlUnitTestResultPrinter' can be made final", + "markdown": "Class 'testing::internal::XmlUnitTestResultPrinter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5370, + "startColumn": 7, + "charOffset": 200466, + "charLength": 24, + "snippet": { + "text": "XmlUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5368, + "startColumn": 1, + "charOffset": 200415, + "charLength": 180, + "snippet": { + "text": "\n// This class generates an XML output file.\nclass XmlUnitTestResultPrinter : public EmptyTestEventListener {\n public:\n explicit XmlUnitTestResultPrinter(const char* output_file);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "545d4fef24b320b6", + "equalIndicator/v1": "104eb9000d99f69b4666b88498f1edaae635dc1d7c73dec392fd1aa7596fbd5d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Struct 'special_grouping' can be made final", + "markdown": "Struct 'special_grouping' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 379, + "startColumn": 33, + "charOffset": 12597, + "charLength": 16, + "snippet": { + "text": "special_grouping" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 377, + "startColumn": 1, + "charOffset": 12561, + "charLength": 145, + "snippet": { + "text": "};\n\ntemplate struct special_grouping : std::numpunct {\n protected:\n Char do_decimal_point() const override { return '.'; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "86bb03194a58e140", + "equalIndicator/v1": "17586f52e61d143031424783c29e507aa7c1317b3ab01aff64cfa0526471ca74" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::BriefUnitTestResultPrinter' can be made final", + "markdown": "Class 'testing::internal::BriefUnitTestResultPrinter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5138, + "startColumn": 7, + "charOffset": 191314, + "charLength": 26, + "snippet": { + "text": "BriefUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5136, + "startColumn": 1, + "charOffset": 191256, + "charLength": 156, + "snippet": { + "text": "//\n// Class BriefUnitTestResultPrinter is copyable.\nclass BriefUnitTestResultPrinter : public TestEventListener {\n public:\n BriefUnitTestResultPrinter() {}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ecbd82566feddc2", + "equalIndicator/v1": "1ac05f814759c78efe005f4cc45da1ed1740e90e6133361dd6a27bdf1822a775" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::PrettyUnitTestResultPrinter' can be made final", + "markdown": "Class 'testing::internal::PrettyUnitTestResultPrinter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4839, + "startColumn": 7, + "charOffset": 180061, + "charLength": 27, + "snippet": { + "text": "PrettyUnitTestResultPrinter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 4837, + "startColumn": 1, + "charOffset": 180002, + "charLength": 159, + "snippet": { + "text": "//\n// Class PrettyUnitTestResultPrinter is copyable.\nclass PrettyUnitTestResultPrinter : public TestEventListener {\n public:\n PrettyUnitTestResultPrinter() {}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3984faeb3e89ec9f", + "equalIndicator/v1": "1c26bb97cded4eae20e6b12e20a05016aabf7a0610b65e8dcdb63b2346d80c05" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Struct 'numpunct' can be made final", + "markdown": "Struct 'numpunct' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 365, + "startColumn": 33, + "charOffset": 12085, + "charLength": 8, + "snippet": { + "text": "numpunct" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 363, + "startColumn": 1, + "charOffset": 12013, + "charLength": 173, + "snippet": { + "text": "#ifndef FMT_STATIC_THOUSANDS_SEPARATOR\n\ntemplate struct numpunct : std::numpunct {\n protected:\n Char do_decimal_point() const override { return '?'; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2866aa6ab0911b07", + "equalIndicator/v1": "36307c9d8602500f9b0cfa2525d266d2f5302219e9f5e0fb1d7ccee18de55e80" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::UnitTestImpl' can be made final", + "markdown": "Class 'testing::internal::UnitTestImpl' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 900, + "startColumn": 18, + "charOffset": 35388, + "charLength": 12, + "snippet": { + "text": "UnitTestImpl" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 898, + "startColumn": 1, + "charOffset": 35282, + "charLength": 172, + "snippet": { + "text": "// user and the UnitTest class that delegates work to this class does\n// proper locking.\nclass GTEST_API_ UnitTestImpl {\n public:\n explicit UnitTestImpl(UnitTest* parent);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ab09f88fb05d17ac", + "equalIndicator/v1": "36aa562170bfaf4efed927bd4e89f49fb0711a53c7325f8f723c1ef9ba6a45cf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Struct 'no_grouping' can be made final", + "markdown": "Struct 'no_grouping' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 372, + "startColumn": 33, + "charOffset": 12341, + "charLength": 11, + "snippet": { + "text": "no_grouping" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 370, + "startColumn": 1, + "charOffset": 12305, + "charLength": 140, + "snippet": { + "text": "};\n\ntemplate struct no_grouping : std::numpunct {\n protected:\n Char do_decimal_point() const override { return '.'; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fe4266bf118e0b4f", + "equalIndicator/v1": "4c946b1aba49aeeacb3ff78b1c75c0f8f93cb2e94c2ac24c892a584d3df3876b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::StreamingListener' can be made final", + "markdown": "Class 'testing::internal::StreamingListener' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1454, + "startColumn": 7, + "charOffset": 57368, + "charLength": 17, + "snippet": { + "text": "StreamingListener" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1452, + "startColumn": 1, + "charOffset": 57292, + "charLength": 194, + "snippet": { + "text": "\n// Streams test results to the given port on the given host machine.\nclass StreamingListener : public EmptyTestEventListener {\n public:\n // Abstract base class for writing strings to a socket." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1a108b45d0135583", + "equalIndicator/v1": "54efa06083cf210b2fde3f5f16db75aff0521d12741d20c9be8e3af0cdc82a6e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Struct 'small_grouping' can be made final", + "markdown": "Struct 'small_grouping' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 386, + "startColumn": 33, + "charOffset": 12864, + "charLength": 14, + "snippet": { + "text": "small_grouping" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 384, + "startColumn": 1, + "charOffset": 12828, + "charLength": 143, + "snippet": { + "text": "};\n\ntemplate struct small_grouping : std::numpunct {\n protected:\n Char do_decimal_point() const override { return '.'; }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f78e970dd006be8f", + "equalIndicator/v1": "5c29de19dcb943d9f4244c516194f1b90e5631fc9d7d15b0ceba09c9a8bdd545" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::FailureTest' can be made final", + "markdown": "Class 'testing::internal::FailureTest' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1923, + "startColumn": 7, + "charOffset": 74432, + "charLength": 11, + "snippet": { + "text": "FailureTest" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1921, + "startColumn": 1, + "charOffset": 74352, + "charLength": 191, + "snippet": { + "text": "\n// A test that fails at a given file/line location with a given message.\nclass FailureTest : public Test {\n public:\n explicit FailureTest(const CodeLocation& loc, std::string error_message," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3c6393cbe9d43648", + "equalIndicator/v1": "6707bdd9995a7a994c660a098a1c9fbe7c338146b69e87bdcd9ff31e8ccd856d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::DefaultGlobalTestPartResultReporter' can be made final", + "markdown": "Class 'testing::internal::DefaultGlobalTestPartResultReporter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 866, + "startColumn": 7, + "charOffset": 34024, + "charLength": 35, + "snippet": { + "text": "DefaultGlobalTestPartResultReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 864, + "startColumn": 1, + "charOffset": 33889, + "charLength": 224, + "snippet": { + "text": "// This is the default global test part result reporter used in UnitTestImpl.\n// This class should only be used by UnitTestImpl.\nclass DefaultGlobalTestPartResultReporter\n : public TestPartResultReporterInterface {\n public:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8eeaab1da073743a", + "equalIndicator/v1": "722baf3f7bc39560acc873d3e5892c42c2aea440f9ccc4eea788280165f52fc4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::ExecDeathTest' can be made final", + "markdown": "Class 'testing::internal::ExecDeathTest' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9395, + "startColumn": 7, + "charOffset": 351359, + "charLength": 13, + "snippet": { + "text": "ExecDeathTest" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9393, + "startColumn": 1, + "charOffset": 351239, + "charLength": 248, + "snippet": { + "text": "// program from the beginning, with command-line flags set that cause\n// only this specific death test to be run.\nclass ExecDeathTest : public ForkingDeathTest {\n public:\n ExecDeathTest(const char* a_statement, Matcher matcher," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae0748d86cfd5651", + "equalIndicator/v1": "75885864b7dad8fa2b47c32c422b7d7c96555995105a217660bcf90646282c0c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::NoExecDeathTest' can be made final", + "markdown": "Class 'testing::internal::NoExecDeathTest' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9340, + "startColumn": 7, + "charOffset": 349114, + "charLength": 15, + "snippet": { + "text": "NoExecDeathTest" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9338, + "startColumn": 1, + "charOffset": 349009, + "charLength": 237, + "snippet": { + "text": "// A concrete death test class that forks, then immediately runs the test\n// in the child process.\nclass NoExecDeathTest : public ForkingDeathTest {\n public:\n NoExecDeathTest(const char* a_statement, Matcher matcher)" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2656e7b3d97ab89b", + "equalIndicator/v1": "838dd01c69fba51f209ba43a2c358c57bbb2d1f48a830a1b10895e7d8c325721" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::BetweenCardinalityImpl' can be made final", + "markdown": "Class 'testing::BetweenCardinalityImpl' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12559, + "startColumn": 7, + "charOffset": 462462, + "charLength": 22, + "snippet": { + "text": "BetweenCardinalityImpl" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12557, + "startColumn": 1, + "charOffset": 462410, + "charLength": 158, + "snippet": { + "text": "\n// Implements the Between(m, n) cardinality.\nclass BetweenCardinalityImpl : public CardinalityInterface {\n public:\n BetweenCardinalityImpl(int min, int max)" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d96dabae882c43fa", + "equalIndicator/v1": "93bfa37ce71c850b6bb4c843f85021ec783f0bf7a75e2121be1871b940ee165c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::DefaultPerThreadTestPartResultReporter' can be made final", + "markdown": "Class 'testing::internal::DefaultPerThreadTestPartResultReporter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 882, + "startColumn": 7, + "charOffset": 34624, + "charLength": 38, + "snippet": { + "text": "DefaultPerThreadTestPartResultReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 880, + "startColumn": 1, + "charOffset": 34485, + "charLength": 233, + "snippet": { + "text": "// This is the default per thread test part result reporter used in\n// UnitTestImpl. This class should only be used by UnitTestImpl.\nclass DefaultPerThreadTestPartResultReporter\n : public TestPartResultReporterInterface {\n public:" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7b3a0a2c224cec5", + "equalIndicator/v1": "9443878c1936c0bfc3d473e9ff3c88417b7a5939745dd7c751ca71b3ca93792c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Struct 'my_ns1::my_ns2::my_exception' can be made final", + "markdown": "Struct 'my_ns1::my_ns2::my_exception' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 304, + "startColumn": 8, + "charOffset": 11291, + "charLength": 12, + "snippet": { + "text": "my_exception" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 302, + "startColumn": 1, + "charOffset": 11246, + "charLength": 112, + "snippet": { + "text": "namespace my_ns1 {\nnamespace my_ns2 {\nstruct my_exception : public std::exception {\n private:\n std::string msg;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3dd0c1e03bb0b4d7", + "equalIndicator/v1": "ade8dca047f4ab196c579a6e30f24a0716effe52c9e9362f6b0ffbcae1dba59f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::TestEventRepeater' can be made final", + "markdown": "Class 'testing::internal::TestEventRepeater' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5242, + "startColumn": 7, + "charOffset": 195308, + "charLength": 17, + "snippet": { + "text": "TestEventRepeater" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 5240, + "startColumn": 1, + "charOffset": 195243, + "charLength": 173, + "snippet": { + "text": "//\n// This class forwards events to other event listeners.\nclass TestEventRepeater : public TestEventListener {\n public:\n TestEventRepeater() : forwarding_enabled_(true) {}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9888c800b8ff0f70", + "equalIndicator/v1": "ca62e36743aa8c1f6f12ca84b31c0158fc5d99b308236d6ed46b37579de67a6b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::StreamingListener::SocketWriter' can be made final", + "markdown": "Class 'testing::internal::StreamingListener::SocketWriter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1472, + "startColumn": 9, + "charOffset": 57924, + "charLength": 12, + "snippet": { + "text": "SocketWriter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1470, + "startColumn": 1, + "charOffset": 57853, + "charLength": 193, + "snippet": { + "text": "\n // Concrete class for actually writing strings to a socket.\n class SocketWriter : public AbstractSocketWriter {\n public:\n SocketWriter(const std::string& host, const std::string& port)" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb05d5a9525d2aef", + "equalIndicator/v1": "ced0a99654b38e302c3699b77bff89bc910c508b1bab6dcfd6a107b5c2e3a513" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'testing::internal::OsStackTraceGetter' can be made final", + "markdown": "Class 'testing::internal::OsStackTraceGetter' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 836, + "startColumn": 7, + "charOffset": 33091, + "charLength": 18, + "snippet": { + "text": "OsStackTraceGetter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 834, + "startColumn": 1, + "charOffset": 33010, + "charLength": 173, + "snippet": { + "text": "\n// A working implementation of the OsStackTraceGetterInterface interface.\nclass OsStackTraceGetter : public OsStackTraceGetterInterface {\n public:\n OsStackTraceGetter() {}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1e19dfc9523ce18a", + "equalIndicator/v1": "db2a25717dc2d9dc0f0ac626a5c36cc3bff1d34cdbf8865e1d45185243433444" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppClassCanBeFinal", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'format_facet' can be made final", + "markdown": "Class 'format_facet' can be made final" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2357, + "startColumn": 7, + "charOffset": 92915, + "charLength": 12, + "snippet": { + "text": "format_facet" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2355, + "startColumn": 1, + "charOffset": 92888, + "charLength": 118, + "snippet": { + "text": "# include \n\nclass format_facet : public fmt::format_facet {\n protected:\n struct int_formatter {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b858a6cf9de96e31", + "equalIndicator/v1": "e3d9e6bc5212e20d286bd6c8cb5e8bab9145a61d0ca502d692b5d586da2ea53f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppConstValueFunctionReturnType", + "kind": "fail", + "level": "note", + "message": { + "text": "Function returns by const value. Consider returning by non-const value instead.", + "markdown": "Function returns by const value. Consider returning by non-const value instead." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 830, + "startColumn": 30, + "charOffset": 25831, + "charLength": 5, + "snippet": { + "text": "const" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 828, + "startColumn": 1, + "charOffset": 25748, + "charLength": 134, + "snippet": { + "text": "\n auto format(its_a_trap, format_context& ctx) const\n -> decltype(ctx.out()) const {\n auto out = ctx.out();\n *out++ = 'x';" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "48e151fafb53c854", + "equalIndicator/v1": "1bebd38773b92f2d24f51d421d52e0d15a3c73023e9cd8b17c05fd45b8fe3eba" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAConstantConditions", + "kind": "fail", + "level": "warning", + "message": { + "text": "Condition is always false", + "markdown": "Condition is always false" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/assert-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 7, + "charOffset": 745, + "charLength": 14, + "snippet": { + "text": "test_condition" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 678, + "charLength": 115, + "snippet": { + "text": " bool test_condition = false;\n bool executed_else = false;\n if (test_condition)\n FMT_ASSERT(true, \"\");\n else" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8d42892c97376546", + "equalIndicator/v1": "15057c4f7ab1b6f1480169067ac49e32c41b8a9a69d0433a9d448c31b04e69d5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAConstantConditions", + "kind": "fail", + "level": "warning", + "message": { + "text": "Condition is always true", + "markdown": "Condition is always true" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/scan-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 168, + "startColumn": 11, + "charOffset": 4564, + "charLength": 11, + "snippet": { + "text": "value != 42" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 166, + "startColumn": 1, + "charOffset": 4486, + "charLength": 153, + "snippet": { + "text": " int value = 0;\n while (fmt::scan_to(f.get(), \"{}\", value)) {\n if (value != 42) {\n pipe.read_end.close();\n EXPECT_EQ(value, 42);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3cf97ae4b5133503", + "equalIndicator/v1": "36dd0b6a9540f484c44ec10d46a768fc3b7be632ecf06ed379fe6983fdd532e2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFANullDereference", + "kind": "fail", + "level": "warning", + "message": { + "text": "Pointer may be null", + "markdown": "Pointer may be null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ostream-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 163, + "startColumn": 5, + "charOffset": 5452, + "charLength": 4, + "snippet": { + "text": "data" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 161, + "startColumn": 1, + "charOffset": 5322, + "charLength": 178, + "snippet": { + "text": " EXPECT_CALL(streambuf, xsputn(data, static_cast(n)))\n .WillOnce(testing::Return(max_streamsize));\n data += n;\n size -= n;\n } while (size != 0);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7dfc010feb46d26d", + "equalIndicator/v1": "ff81812520a6be3b021b13c67a28a73b3f323e76a616513945f51a6dc95ee59e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFATimeOver", + "kind": "fail", + "level": "note", + "message": { + "text": "The file is too complex to perform the data-flow analysis", + "markdown": "The file is too complex to perform the data-flow analysis" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 1, + "charOffset": 1523, + "charLength": 24, + "snippet": { + "text": "TEST(uint128_test, ctor)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 1494, + "charLength": 105, + "snippet": { + "text": "enum { buffer_size = 256 };\n\nTEST(uint128_test, ctor) {\n auto n = uint128_fallback();\n EXPECT_EQ(n, 0);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "613dc1f6b0bfabf0", + "equalIndicator/v1": "ade73a6890ea5019722c098f1495222e612424e6ae3857769034356770735bca" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFATimeOver", + "kind": "fail", + "level": "note", + "message": { + "text": "The file is too complex to perform the data-flow analysis", + "markdown": "The file is too complex to perform the data-flow analysis" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 139, + "startColumn": 12, + "charOffset": 6646, + "charLength": 32, + "snippet": { + "text": "ScopedFakeTestPartResultReporter" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 137, + "startColumn": 1, + "charOffset": 6533, + "charLength": 254, + "snippet": { + "text": " // results. This reporter will only catch failures generated in the current\n // thread. DEPRECATED\n explicit ScopedFakeTestPartResultReporter(TestPartResultArray* result);\n\n // Same as above, but you can choose the interception scope of this object." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "99e03495128c0ee4", + "equalIndicator/v1": "dabf2784a1dcac359ca5d1fd31dfec3e48f8fa66d30fc5ecd31ba6a5f70f6dfb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnreachableCode", + "kind": "fail", + "level": "warning", + "message": { + "text": "Unreachable code", + "markdown": "Unreachable code" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 162, + "startColumn": 5, + "charOffset": 5452, + "charLength": 47, + "snippet": { + "text": "fmt::print(L\"test\");\n fmt::println(L\"test\");" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 160, + "startColumn": 1, + "charOffset": 5357, + "charLength": 148, + "snippet": { + "text": " // Check that the wide print overload compiles.\n if (fmt::detail::const_check(false)) {\n fmt::print(L\"test\");\n fmt::println(L\"test\");\n }\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6ac209e297734121", + "equalIndicator/v1": "26dce633c92629a6e1abfd81a87bc1cbf2c0c72ac5004d47da2d44f99d58fbf6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnreachableCode", + "kind": "fail", + "level": "warning", + "message": { + "text": "Unreachable code", + "markdown": "Unreachable code" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/scan-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 173, + "startColumn": 7, + "charOffset": 4669, + "charLength": 8, + "snippet": { + "text": "++count;" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 171, + "startColumn": 1, + "charOffset": 4640, + "charLength": 48, + "snippet": { + "text": " break;\n }\n ++count;\n }\n };" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "52cb1a8c1b5c6919", + "equalIndicator/v1": "ac4c76324df26e1eab3728cee4fc175930228487b0603e8555e30ed6b84e7c69" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 343, + "startColumn": 22, + "charOffset": 11815, + "charLength": 38, + "snippet": { + "text": "static_cast(value)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 341, + "startColumn": 1, + "charOffset": 11681, + "charLength": 280, + "snippet": { + "text": " if (const_check(max <= static_cast(max_value()))) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(value);\n } else if (const_check(max <= max_value())) {\n signed_value = static_cast(value);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e52371588ebe2270", + "equalIndicator/v1": "40ed4e795aaed0c76ad73a6993f66e35a5543fe18eb65165c872843e4df41d98" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 167, + "startColumn": 9, + "charOffset": 5115, + "charLength": 13, + "snippet": { + "text": "std::move(bf)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 165, + "startColumn": 1, + "charOffset": 5030, + "charLength": 134, + "snippet": { + "text": " buffered_file bf2 = open_buffered_file();\n int old_fd = bf2.descriptor();\n bf2 = std::move(bf);\n EXPECT_TRUE(isclosed(old_fd));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cce8c18147cbe840", + "equalIndicator/v1": "4b9f46ab1173e9c5643f6a19b65b9e81d9622853b8f0d802fcbc5fdd3eda4cd0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 342, + "startColumn": 20, + "charOffset": 11769, + "charLength": 23, + "snippet": { + "text": "static_cast(value)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 340, + "startColumn": 1, + "charOffset": 11647, + "charLength": 265, + "snippet": { + "text": " using fmt::detail::const_check;\n if (const_check(max <= static_cast(max_value()))) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(value);\n } else if (const_check(max <= max_value())) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f2f448518287d0e5", + "equalIndicator/v1": "840f60543e10310ff873781a321a1c1fa1b7704aebcd2326def4d555a5f96b70" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 356, + "startColumn": 8, + "charOffset": 10132, + "charLength": 12, + "snippet": { + "text": "std::move(f)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 354, + "startColumn": 1, + "charOffset": 10068, + "charLength": 112, + "snippet": { + "text": " file f2 = open_file();\n int old_fd = f2.descriptor();\n f2 = std::move(f);\n EXPECT_TRUE(isclosed(old_fd));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e0bdd515e9a0bfb7", + "equalIndicator/v1": "972f9626327912441df3c93a0aae8feb9015eb3daa7f36cd8f6b59cd7af7305e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 187, + "startColumn": 7, + "charOffset": 5643, + "charLength": 20, + "snippet": { + "text": "open_buffered_file()" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 185, + "startColumn": 1, + "charOffset": 5564, + "charLength": 135, + "snippet": { + "text": " buffered_file f = open_buffered_file();\n int old_fd = f.descriptor();\n f = open_buffered_file();\n EXPECT_TRUE(isclosed(old_fd));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "83ed8c1ccd97114c", + "equalIndicator/v1": "affa3bf0013cae263eb60ef5ffff19a8a1cde2bc238c25b81d0da19b817e58c4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/compile-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 132, + "startColumn": 7, + "charOffset": 4776, + "charLength": 73, + "snippet": { + "text": "fmt::detail::compile(FMT_COMPILE(\"{arg}\"))" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 130, + "startColumn": 1, + "charOffset": 4704, + "charLength": 290, + "snippet": { + "text": "TEST(compile_test, named) {\n auto runtime_named_field_compiled =\n fmt::detail::compile(FMT_COMPILE(\"{arg}\"));\n static_assert(std::is_same_v>);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "73f66f3f6d69dade", + "equalIndicator/v1": "b27fe8a5da011f26bed2a115f3a03d5b13e590621c49e2e425c8f18007dd8bba" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 346, + "startColumn": 22, + "charOffset": 11983, + "charLength": 38, + "snippet": { + "text": "static_cast(value)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 344, + "startColumn": 1, + "charOffset": 11855, + "charLength": 232, + "snippet": { + "text": " } else if (const_check(max <= max_value())) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(value);\n }\n if (sizeof(U) <= sizeof(int) && sizeof(int) < sizeof(T)) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "099ae38ad262767e", + "equalIndicator/v1": "b7f488046c4b01dfc78916c2e990cbfa835576bdce0e5e3f27cd0e989509a65e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 345, + "startColumn": 20, + "charOffset": 11932, + "charLength": 28, + "snippet": { + "text": "static_cast(value)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 343, + "startColumn": 1, + "charOffset": 11794, + "charLength": 232, + "snippet": { + "text": " unsigned_value = static_cast(value);\n } else if (const_check(max <= max_value())) {\n signed_value = static_cast(value);\n unsigned_value = static_cast(value);\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e6fcd3d0c651b358", + "equalIndicator/v1": "bd1abac1c653bdceac44ac6845d8f7c32b45314160bcdaf6908466f73fcfc20f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 383, + "startColumn": 7, + "charOffset": 10708, + "charLength": 22, + "snippet": { + "text": "open_buffered_file(fd)" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 381, + "startColumn": 1, + "charOffset": 10647, + "charLength": 119, + "snippet": { + "text": " file f = open_file();\n int old_fd = f.descriptor();\n f = open_buffered_file(fd);\n EXPECT_TRUE(isclosed(old_fd));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cbac02efcc78f97e", + "equalIndicator/v1": "bf55c996a8d5140983dd58feb677c92e024566842a3b4c18d6d30ccf13ebdc3f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDFAUnusedValue", + "kind": "fail", + "level": "warning", + "message": { + "text": "The value is never used", + "markdown": "The value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 369, + "startColumn": 10, + "charOffset": 12211, + "charLength": 15, + "snippet": { + "text": "buffered_file()" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 367, + "startColumn": 1, + "charOffset": 12124, + "charLength": 145, + "snippet": { + "text": " EXPECT_EQ(\"\", redir.restore_and_read());\n std::fprintf(file.get(), \"]]]\");\n file = buffered_file();\n EXPECT_READ(pipe.read_end, \"[[[]]]\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1577c2f692dee9f4", + "equalIndicator/v1": "f695eb88eebc08a12cccd98288c4b59c23c8a08cd467ad68f8f6b52be8aaf02c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppDefaultCaseNotHandledInSwitchStatement", + "kind": "fail", + "level": "warning", + "message": { + "text": "Default case is not handled in the switch statement", + "markdown": "Default case is not handled in the switch statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2826, + "startColumn": 5, + "charOffset": 107035, + "charLength": 6, + "snippet": { + "text": "switch" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2824, + "startColumn": 1, + "charOffset": 106983, + "charLength": 102, + "snippet": { + "text": "\n void PushLine(char edit, const char* line) {\n switch (edit) {\n case ' ':\n ++common_;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "82b90af18415b590", + "equalIndicator/v1": "6208ed621dda899012de9fdf349365d3d02eed97bc291838eaec2af7704a8e3c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12400, + "startColumn": 11, + "charOffset": 456543, + "charLength": 7, + "snippet": { + "text": "testing" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12398, + "startColumn": 1, + "charOffset": 456531, + "charLength": 43, + "snippet": { + "text": "\n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4399a29c0ba6ea45", + "equalIndicator/v1": "33fb9ae4d958a7cd295e7133bb88790668629ae0f0787378fbf36017b6094002" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12903, + "startColumn": 11, + "charOffset": 474999, + "charLength": 7, + "snippet": { + "text": "testing" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12901, + "startColumn": 1, + "charOffset": 474970, + "charLength": 60, + "snippet": { + "text": "#include \n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c9cf7a8f1a98ce59", + "equalIndicator/v1": "6693b7fb6378b47acaa9f84519976412ca0c95dffe676774ee4a1180ed855c75" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10417, + "startColumn": 11, + "charOffset": 390008, + "charLength": 7, + "snippet": { + "text": "testing" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 10415, + "startColumn": 1, + "charOffset": 389996, + "charLength": 43, + "snippet": { + "text": "\n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "678f4b1174e0233f", + "equalIndicator/v1": "69a2ac6628b447a9e98b0a9a919efc93549d8f55e659a576f6f67978258a9241" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12707, + "startColumn": 11, + "charOffset": 467640, + "charLength": 7, + "snippet": { + "text": "testing" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 12705, + "startColumn": 1, + "charOffset": 467611, + "charLength": 60, + "snippet": { + "text": "#include \n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c340dc939dc97c37", + "equalIndicator/v1": "7e29de564ab3065d27e6380c0e24269a8f4af72002e70741e76df99c3f082da2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/std-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 302, + "startColumn": 11, + "charOffset": 11256, + "charLength": 6, + "snippet": { + "text": "my_ns1" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 300, + "startColumn": 1, + "charOffset": 11243, + "charLength": 86, + "snippet": { + "text": "}\n\nnamespace my_ns1 {\nnamespace my_ns2 {\nstruct my_exception : public std::exception {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4a917818c112a2ee", + "equalIndicator/v1": "872bceef6781260dee7267eefd7d4c836f91d140a19fbf2ebad59b82b57e8254" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9929, + "startColumn": 11, + "charOffset": 371957, + "charLength": 7, + "snippet": { + "text": "testing" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 9927, + "startColumn": 1, + "charOffset": 371918, + "charLength": 70, + "snippet": { + "text": "#endif // GTEST_OS_WINDOWS\n\nnamespace testing {\nnamespace internal {\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fef7d0333c91e3c", + "equalIndicator/v1": "93c21b5f7db28874fa583adb0ebb2f2d71f1d85da9769ad3c4047f9e33875f31" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2065, + "startColumn": 11, + "charOffset": 83839, + "charLength": 3, + "snippet": { + "text": "fmt" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2063, + "startColumn": 1, + "charOffset": 83807, + "charLength": 71, + "snippet": { + "text": "\nnamespace adl_test {\nnamespace fmt {\nnamespace detail {\nstruct foo {};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "688ce07812100e62", + "equalIndicator/v1": "a9c30891f1aebb3c5dcae1bc76b9937935f506434dabc25f3fbbb8e00944f7b6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEnforceNestedNamespacesStyle", + "kind": "fail", + "level": "note", + "message": { + "text": "Use C++17 nested namespace definition", + "markdown": "Use C++17 nested namespace definition" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2064, + "startColumn": 11, + "charOffset": 83818, + "charLength": 8, + "snippet": { + "text": "adl_test" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2062, + "startColumn": 1, + "charOffset": 83805, + "charLength": 58, + "snippet": { + "text": "}\n\nnamespace adl_test {\nnamespace fmt {\nnamespace detail {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "26de6b604ef97647", + "equalIndicator/v1": "e5c70b48366da2648d80c7758f4c507b445749c62afc20bf453eb23ddc007072" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppEntityUsedOnlyInUnevaluatedContext", + "kind": "fail", + "level": "warning", + "message": { + "text": "Local variable 'runtime_named_field_compiled' is used only in unevaluated context", + "markdown": "Local variable 'runtime_named_field_compiled' is used only in unevaluated context" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/compile-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 131, + "startColumn": 8, + "charOffset": 4739, + "charLength": 28, + "snippet": { + "text": "runtime_named_field_compiled" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 129, + "startColumn": 1, + "charOffset": 4703, + "charLength": 218, + "snippet": { + "text": "\nTEST(compile_test, named) {\n auto runtime_named_field_compiled =\n fmt::detail::compile(FMT_COMPILE(\"{arg}\"));\n static_assert(std::is_same_v void check(T);\nTEST(base_test, adl_check) {\n auto s = std::string();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b71807e6416a05a4", + "equalIndicator/v1": "3bc3909b35cd08952f6db890f7a8e115ec52e70c0b340c8b326b39872c62e714" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionIsNotImplemented", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'end' which has parent template struct 'path_like' is not implemented", + "markdown": "Function 'end' which has parent template struct 'path_like' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 258, + "startColumn": 8, + "charOffset": 7948, + "charLength": 3, + "snippet": { + "text": "end" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 256, + "startColumn": 1, + "charOffset": 7855, + "charLength": 170, + "snippet": { + "text": "template struct path_like {\n auto begin() const -> const path_like*;\n auto end() const -> const path_like*;\n\n operator std::basic_string() const;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5a9dbf2a979e4f5f", + "equalIndicator/v1": "565c3b94cf914569b5e868d7017376827833a46323a95ee4c820705f4cd260a1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionIsNotImplemented", + "kind": "fail", + "level": "warning", + "message": { + "text": "Function 'begin' which has parent template struct 'path_like' is not implemented", + "markdown": "Function 'begin' which has parent template struct 'path_like' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 257, + "startColumn": 8, + "charOffset": 7906, + "charLength": 5, + "snippet": { + "text": "begin" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 255, + "startColumn": 1, + "charOffset": 7854, + "charLength": 127, + "snippet": { + "text": "\ntemplate struct path_like {\n auto begin() const -> const path_like*;\n auto end() const -> const path_like*;\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d0dc4579e195056", + "equalIndicator/v1": "662620d1b4f6be79d834589ba22f14cb1d4b64de3d655934899d741902730faf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionIsNotImplemented", + "kind": "fail", + "level": "warning", + "message": { + "text": "Conversion 'operator std::basic_string' which has parent template struct 'path_like' is not implemented", + "markdown": "Conversion 'operator std::basic_string' which has parent template struct 'path_like' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 260, + "startColumn": 3, + "charOffset": 7984, + "charLength": 32, + "snippet": { + "text": "operator std::basic_string" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 258, + "startColumn": 1, + "charOffset": 7941, + "charLength": 88, + "snippet": { + "text": " auto end() const -> const path_like*;\n\n operator std::basic_string() const;\n};\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee1b9167b18f3618", + "equalIndicator/v1": "80e695515ce3cf3ef42ce97686a40b7dbe8d88acf10c695f4c8e4602c2ba3a73" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionIsNotImplemented", + "kind": "fail", + "level": "warning", + "message": { + "text": "Template 'operator<<' is not implemented", + "markdown": "Template 'operator\\<\\<' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ostream-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 42, + "charOffset": 1261, + "charLength": 10, + "snippet": { + "text": "operator<<" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 1122, + "charLength": 193, + "snippet": { + "text": "struct type_with_comma_op {};\ntemplate void operator,(type_with_comma_op, const T&);\ntemplate type_with_comma_op operator<<(T&, const date&);\n\nenum streamable_enum {};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b09fb40a19a74d83", + "equalIndicator/v1": "8efff0f12a828a2caddd8ccda5cec93629c1941f008ed1c6378227a8dc309879" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionIsNotImplemented", + "kind": "fail", + "level": "warning", + "message": { + "text": "Template 'operator,' is not implemented", + "markdown": "Template 'operator,' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ostream-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 28, + "charOffset": 1179, + "charLength": 9, + "snippet": { + "text": "operator," + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1048, + "charLength": 242, + "snippet": { + "text": "// Make sure that overloaded comma operators do no harm to is_streamable.\nstruct type_with_comma_op {};\ntemplate void operator,(type_with_comma_op, const T&);\ntemplate type_with_comma_op operator<<(T&, const date&);\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf878aa419b6f13f", + "equalIndicator/v1": "b9567c0a56351ff8f6d7e31e36691f4b38aa9b6b2e438036f37f4be8b605f9c0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 711, + "startColumn": 34, + "charOffset": 26304, + "charLength": 10, + "snippet": { + "text": "__int128_t" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 709, + "startColumn": 1, + "charOffset": 26204, + "charLength": 208, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{0:+}\", 42ll), \"+42\");\n#if FMT_USE_INT128\n EXPECT_EQ(fmt::format(\"{0:+}\", __int128_t(42)), \"+42\");\n#endif\n EXPECT_THROW_MSG((void)fmt::format(runtime(\"{0:+}\"), 42ull), format_error," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "722cbf6e3ed52312", + "equalIndicator/v1": "049d171730ef78ec83755d3197f6a21251efa42956de73f046a5f5e0bbd0ece0" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 431, + "startColumn": 31, + "charOffset": 13072, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 429, + "startColumn": 1, + "charOffset": 13022, + "charLength": 162, + "snippet": { + "text": " const char* end;\n\n char buf2[8] = {char(0xc0), char(0xA4)};\n end = fmt::detail::utf8_decode(buf2, &c, &e);\n EXPECT_NE(e, 0); // non-canonical len 2" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c480311827279012", + "equalIndicator/v1": "09fb4623f125ad283737ff8564d6308103cedbfa63343123d9be1eff8b5f6151" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 24, + "charOffset": 3093, + "charLength": 22, + "snippet": { + "text": "fmt::detail::uint128_t" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 2996, + "charLength": 181, + "snippet": { + "text": " EXPECT_EQ(fmt::to_string(bigmax), \"fffffffffffffffe0000000000000001\");\n\n const auto max128 = (fmt::detail::uint128_t(max64) << 64) | max64;\n bigmax = max128;\n bigmax *= max128;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "89ecd93f8af64736", + "equalIndicator/v1": "0f0b53b28c55847f7e835819e012eacfaed72280b017f6827dc38a221328474b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 453, + "startColumn": 19, + "charOffset": 13853, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 451, + "startColumn": 1, + "charOffset": 13810, + "charLength": 191, + "snippet": { + "text": "\n // Invalid first byte\n char buf0[4] = {char(0xff)};\n auto len = fmt::detail::utf8_decode(buf0, &c, &e) - buf0;\n EXPECT_NE(e, 0); // \"bogus [ff] 0x%02x U+%04lx\", e, (unsigned long)c);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fdd44a51f2644766", + "equalIndicator/v1": "1bdfd8805e1ad06e45c711b8e5eab0929b7ba0b72782f29d84868057a0eaa526" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 436, + "startColumn": 31, + "charOffset": 13272, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 434, + "startColumn": 1, + "charOffset": 13185, + "charLength": 211, + "snippet": { + "text": " EXPECT_EQ(end, buf2 + 2); // non-canonical recover 2\n\n char buf3[8] = {char(0xe0), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf3, &c, &e);\n EXPECT_NE(e, 0); // non-canonical len 3" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1b9de54367585ddd", + "equalIndicator/v1": "2246a2f57cfd78757bae37c0f94889fd11a16bfcd3b8932814519c3795135c6e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2559, + "startColumn": 31, + "charOffset": 98693, + "charLength": 11, + "snippet": { + "text": "ubitint<47>" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2557, + "startColumn": 1, + "charOffset": 98591, + "charLength": 229, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{}\", ubitint<32>(4294967295)), \"4294967295\");\n\n EXPECT_EQ(fmt::format(\"{}\", ubitint<47>(140737488355327ULL)),\n \"140737488355327\");\n EXPECT_EQ(fmt::format(\"{}\", bitint<47>(-40737488355327LL))," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e34a887edc93846", + "equalIndicator/v1": "23f94f8136298c182eab0a52c5de7208d9fc0536a7f998778fc87f8ba4212a15" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 441, + "startColumn": 43, + "charOffset": 13496, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 439, + "startColumn": 1, + "charOffset": 13397, + "charLength": 232, + "snippet": { + "text": " EXPECT_EQ(end, buf3 + 3); // non-canonical recover 3\n\n char buf4[8] = {char(0xf0), char(0x80), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf4, &c, &e);\n EXPECT_NE(e, 0); // non-canonical encoding len 4" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "551f889a8a1d0986", + "equalIndicator/v1": "4f08279794fc3c3522f1d5f2080631be00876f45a63dbe5a3179249c0c5abffb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2557, + "startColumn": 31, + "charOffset": 98621, + "charLength": 11, + "snippet": { + "text": "ubitint<32>" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2555, + "startColumn": 1, + "charOffset": 98526, + "charLength": 200, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{}\", bitint<16>(INT16_MAX)), \"32767\");\n\n EXPECT_EQ(fmt::format(\"{}\", ubitint<32>(4294967295)), \"4294967295\");\n\n EXPECT_EQ(fmt::format(\"{}\", ubitint<47>(140737488355327ULL))," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2aa3da5219e58af2", + "equalIndicator/v1": "52962c57e6884380b04ae6a937239973c8e9385aa4c0b4fa7c456899951f2c37" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 436, + "startColumn": 19, + "charOffset": 13260, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 434, + "startColumn": 1, + "charOffset": 13185, + "charLength": 211, + "snippet": { + "text": " EXPECT_EQ(end, buf2 + 2); // non-canonical recover 2\n\n char buf3[8] = {char(0xe0), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf3, &c, &e);\n EXPECT_NE(e, 0); // non-canonical len 3" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a17a5c999d79d2b2", + "equalIndicator/v1": "53b8ce0101917ac6af669638d138eafa26364d19ed4bc2eeb3019cdbf9ae710b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 465, + "startColumn": 19, + "charOffset": 14383, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 463, + "startColumn": 1, + "charOffset": 14303, + "charLength": 236, + "snippet": { + "text": "\n // Looks like a two-byte sequence but second byte is wrong\n char buf2[4] = {char(0xc0), char(0x0a)};\n len = fmt::detail::utf8_decode(buf2, &c, &e) - buf2;\n EXPECT_NE(e, 0); // \"bogus [c0 0a] 0x%02x U+%04lx\", e, (unsigned long)c" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7885fbec52dbae6d", + "equalIndicator/v1": "6a0be30a4ff23c2d29b708005922cbc0630d0b3f53df2172b27630162e6704f7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 441, + "startColumn": 31, + "charOffset": 13484, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 439, + "startColumn": 1, + "charOffset": 13397, + "charLength": 232, + "snippet": { + "text": " EXPECT_EQ(end, buf3 + 3); // non-canonical recover 3\n\n char buf4[8] = {char(0xf0), char(0x80), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf4, &c, &e);\n EXPECT_NE(e, 0); // non-canonical encoding len 4" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "15bb1bda5a67a847", + "equalIndicator/v1": "6f45f56a6d108f2597518679d00ef86ab6b823eb21f785bb09d21405d9fd0143" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 397, + "startColumn": 49, + "charOffset": 12400, + "charLength": 9, + "snippet": { + "text": "std::byte" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 395, + "startColumn": 1, + "charOffset": 12298, + "charLength": 195, + "snippet": { + "text": "#ifdef __cpp_lib_byte\nTEST(ranges_test, join_bytes) {\n auto v = std::vector{std::byte(1), std::byte(2), std::byte(3)};\n EXPECT_EQ(fmt::format(\"{}\", fmt::join(v, \", \")), \"1, 2, 3\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cc9518a104b245fc", + "equalIndicator/v1": "712b3f9ff0145c99c0a81a07365e14cfb963f660f92affabcb9ba3b17a2f26e9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2553, + "startColumn": 31, + "charOffset": 98430, + "charLength": 11, + "snippet": { + "text": "ubitint<15>" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2551, + "startColumn": 1, + "charOffset": 98349, + "charLength": 240, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{}\", bitint<7>()), \"0\");\n\n EXPECT_EQ(fmt::format(\"{}\", ubitint<15>(31000)), \"31000\");\n EXPECT_EQ(fmt::format(\"{}\", bitint<16>(INT16_MIN)), \"-32768\");\n EXPECT_EQ(fmt::format(\"{}\", bitint<16>(INT16_MAX)), \"32767\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3af712586b8c2a42", + "equalIndicator/v1": "7e0b4ac343d48230d85d01ebd694cfac99b51f2ef8a5ffaf8715349e39e98f81" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2582, + "startColumn": 47, + "charOffset": 99456, + "charLength": 9, + "snippet": { + "text": "std::byte" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2580, + "startColumn": 1, + "charOffset": 99353, + "charLength": 142, + "snippet": { + "text": "TEST(base_test, format_byte) {\n auto s = std::string();\n fmt::format_to(std::back_inserter(s), \"{}\", std::byte(42));\n EXPECT_EQ(s, \"42\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9ddb1df9f6921f5f", + "equalIndicator/v1": "8fc5d62b0b2c5f50e6b149fbe4c8bb9b41f10b80ef119135fac10e2ae8a08734" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 937, + "startColumn": 38, + "charOffset": 37326, + "charLength": 5, + "snippet": { + "text": "short" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 935, + "startColumn": 1, + "charOffset": 37164, + "charLength": 184, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{0:{1}}\", 'x', 11), \"x \");\n EXPECT_EQ(fmt::format(\"{0:{1}}\", \"str\", 12), \"str \");\n EXPECT_EQ(fmt::format(\"{:{}}\", 42, short(4)), \" 42\");\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d29e492abd1d4019", + "equalIndicator/v1": "9c304ad9526ef02c6b6dfc8ea3a8d72e19f5430eb9103eba820c58522cdd159d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2566, + "startColumn": 12, + "charOffset": 98919, + "charLength": 11, + "snippet": { + "text": "ubitint<32>" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2564, + "startColumn": 1, + "charOffset": 98854, + "charLength": 162, + "snippet": { + "text": " // Check lvalues and const\n auto a = bitint<8>(0);\n auto b = ubitint<32>(4294967295);\n const auto c = bitint<7>(0);\n const auto d = ubitint<32>(4294967295);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2351e2b67357ad74", + "equalIndicator/v1": "a0722122f007996994ffe7db56e184754317dfe869a360e2c33e5bc28b3cdcfb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2550, + "startColumn": 31, + "charOffset": 98327, + "charLength": 10, + "snippet": { + "text": "ubitint<3>" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2548, + "startColumn": 1, + "charOffset": 98266, + "charLength": 133, + "snippet": { + "text": " using fmt::detail::ubitint;\n\n EXPECT_EQ(fmt::format(\"{}\", ubitint<3>(7)), \"7\");\n EXPECT_EQ(fmt::format(\"{}\", bitint<7>()), \"0\");\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd6920248c0323ee", + "equalIndicator/v1": "a1b3886c5da2aae2863185ba4a068b6cc685036a7e753f44113598c7cbc686c4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 431, + "startColumn": 19, + "charOffset": 13060, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 429, + "startColumn": 1, + "charOffset": 13022, + "charLength": 162, + "snippet": { + "text": " const char* end;\n\n char buf2[8] = {char(0xc0), char(0xA4)};\n end = fmt::detail::utf8_decode(buf2, &c, &e);\n EXPECT_NE(e, 0); // non-canonical len 2" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa8525a92a92ea9c", + "equalIndicator/v1": "aa535c78c27fb5bf0bbf173a436b0ae79acbb7b43adaff7e659b3de7b90cdfde" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 441, + "startColumn": 55, + "charOffset": 13508, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 439, + "startColumn": 1, + "charOffset": 13397, + "charLength": 232, + "snippet": { + "text": " EXPECT_EQ(end, buf3 + 3); // non-canonical recover 3\n\n char buf4[8] = {char(0xf0), char(0x80), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf4, &c, &e);\n EXPECT_NE(e, 0); // non-canonical encoding len 4" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "556c1cdcbd9f1750", + "equalIndicator/v1": "afe227eeabcdd8d12ba395b45168b019575247a7178edfca27da448cc58535a2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2568, + "startColumn": 18, + "charOffset": 98992, + "charLength": 11, + "snippet": { + "text": "ubitint<32>" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2566, + "startColumn": 1, + "charOffset": 98908, + "charLength": 197, + "snippet": { + "text": " auto b = ubitint<32>(4294967295);\n const auto c = bitint<7>(0);\n const auto d = ubitint<32>(4294967295);\n EXPECT_EQ(fmt::format(\"{}\", a), \"0\");\n EXPECT_EQ(fmt::format(\"{}\", b), \"4294967295\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e06d5141157b7516", + "equalIndicator/v1": "c38eca372c9fb973cb8f66a319f707935b7c2221a71dadc7f45b893f25097231" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 465, + "startColumn": 31, + "charOffset": 14395, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 463, + "startColumn": 1, + "charOffset": 14303, + "charLength": 236, + "snippet": { + "text": "\n // Looks like a two-byte sequence but second byte is wrong\n char buf2[4] = {char(0xc0), char(0x0a)};\n len = fmt::detail::utf8_decode(buf2, &c, &e) - buf2;\n EXPECT_NE(e, 0); // \"bogus [c0 0a] 0x%02x U+%04lx\", e, (unsigned long)c" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7452d8b2915c11c", + "equalIndicator/v1": "c657d53f7f8baea512db18bcd1cf4ad697fb6eea9c741a5e9be1fc48477b9b4d" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 397, + "startColumn": 35, + "charOffset": 12386, + "charLength": 9, + "snippet": { + "text": "std::byte" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 395, + "startColumn": 1, + "charOffset": 12298, + "charLength": 195, + "snippet": { + "text": "#ifdef __cpp_lib_byte\nTEST(ranges_test, join_bytes) {\n auto v = std::vector{std::byte(1), std::byte(2), std::byte(3)};\n EXPECT_EQ(fmt::format(\"{}\", fmt::join(v, \", \")), \"1, 2, 3\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3d27a8a9c7e3e383", + "equalIndicator/v1": "cf18280e7072c80736c41e2ca89b6b1cc39b7d9aaac68c83af64f432f89790b6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 459, + "startColumn": 19, + "charOffset": 14102, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 457, + "startColumn": 1, + "charOffset": 14059, + "charLength": 186, + "snippet": { + "text": "\n // Invalid first byte\n char buf1[4] = {char(0x80)};\n len = fmt::detail::utf8_decode(buf1, &c, &e) - buf1;\n EXPECT_NE(e, 0); // \"bogus [80] 0x%02x U+%04lx\", e, (unsigned long)c);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a028ad6bfddbaf8", + "equalIndicator/v1": "d60bb1a0a4657d95e46a87c9a6bb898b7df9745934bde9d6431d832ca348ebe1" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 436, + "startColumn": 43, + "charOffset": 13284, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 434, + "startColumn": 1, + "charOffset": 13185, + "charLength": 211, + "snippet": { + "text": " EXPECT_EQ(end, buf2 + 2); // non-canonical recover 2\n\n char buf3[8] = {char(0xe0), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf3, &c, &e);\n EXPECT_NE(e, 0); // non-canonical len 3" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "572e6e2863375d08", + "equalIndicator/v1": "e0dad3487f6e8913b8abe8be19bf2ca2f928bd2e12a13d9526663f766d700f6e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 397, + "startColumn": 63, + "charOffset": 12414, + "charLength": 9, + "snippet": { + "text": "std::byte" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 395, + "startColumn": 1, + "charOffset": 12298, + "charLength": 195, + "snippet": { + "text": "#ifdef __cpp_lib_byte\nTEST(ranges_test, join_bytes) {\n auto v = std::vector{std::byte(1), std::byte(2), std::byte(3)};\n EXPECT_EQ(fmt::format(\"{}\", fmt::join(v, \", \")), \"1, 2, 3\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "804594075e465b84", + "equalIndicator/v1": "e9cdb51ec7d3595640bf9bcf32f8cd6db46ffbd6d47e32e3dfe6686c037c7435" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppFunctionalStyleCast", + "kind": "fail", + "level": "note", + "message": { + "text": "Functional-style cast is used instead of a C++ cast", + "markdown": "Functional-style cast is used instead of a C++ cast" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 441, + "startColumn": 19, + "charOffset": 13472, + "charLength": 4, + "snippet": { + "text": "char" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 439, + "startColumn": 1, + "charOffset": 13397, + "charLength": 232, + "snippet": { + "text": " EXPECT_EQ(end, buf3 + 3); // non-canonical recover 3\n\n char buf4[8] = {char(0xf0), char(0x80), char(0x80), char(0xA4)};\n end = fmt::detail::utf8_decode(buf4, &c, &e);\n EXPECT_NE(e, 0); // non-canonical encoding len 4" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "af19e1d25996e3ca", + "equalIndicator/v1": "ec28a7fb668faf58a70c5bc3a6460cac23d6f12973a002ee82fcf85fe833840f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1537, + "startColumn": 10, + "charOffset": 65842, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1535, + "startColumn": 1, + "charOffset": 65728, + "charLength": 237, + "snippet": { + "text": " safe_sprintf(buffer, \"%a\", static_cast(ld));\n EXPECT_EQ(buffer, fmt::format(\"{:a}\", ld));\n } else if (std::numeric_limits::digits == 64) {\n EXPECT_EQ(fmt::format(\"{:a}\", ld), \"0xd.3d70a3d70a3d70ap-2\");\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dbe26c528fd88978", + "equalIndicator/v1": "06622d98319dfdee81c7850947c8f220f9cd34ce2ae2b149f2bfb4b4a8391aa4" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 562, + "startColumn": 3, + "charOffset": 17501, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 560, + "startColumn": 1, + "charOffset": 17429, + "charLength": 207, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{}\", vec{\"n\\xcc\\x83\"}), \"[\\\"n\\xcc\\x83\\\"]\");\n\n if (fmt::detail::use_utf8) {\n EXPECT_EQ(fmt::format(\"{}\", vec{\"\\xcd\\xb8\"}), \"[\\\"\\\\u0378\\\"]\");\n // Unassigned Unicode code points." + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e15fa7b3f918f9e5", + "equalIndicator/v1": "0d61b80af0ee1ce02440ca96172cb7eae84cb02061c319c00dbce4498029aec7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/chrono-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 890, + "startColumn": 3, + "charOffset": 35699, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 888, + "startColumn": 1, + "charOffset": 35645, + "charLength": 173, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{:%M:%S}\", t4), \"01:03\");\n\n if (sizeof(time_t) > 4) {\n auto tp =\n sys_time(std::chrono::seconds(32503680000));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dfc61f93ce431701", + "equalIndicator/v1": "1a8fa60abf18fda52ac86dbf9b6c77832f8facab5e763849ed4e2265adb200b6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 912, + "startColumn": 3, + "charOffset": 35981, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 910, + "startColumn": 1, + "charOffset": 35857, + "charLength": 285, + "snippet": { + "text": " EXPECT_THROW_MSG((void)fmt::format(runtime(\"{0:{1}}\"), 0, -1l), format_error,\n bad_dynamic_spec_msg);\n if (fmt::detail::const_check(sizeof(long) > sizeof(int))) {\n long value = INT_MAX;\n EXPECT_THROW_MSG((void)fmt::format(runtime(\"{0:{1}}\"), 0, (value + 1))," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8225e946ee628662", + "equalIndicator/v1": "1ec748a07e639909a54c78ce770ea87d655b8055f419bde8685b4c64101d2a6a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 310, + "startColumn": 3, + "charOffset": 10664, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 308, + "startColumn": 1, + "charOffset": 10553, + "charLength": 275, + "snippet": { + "text": " EXPECT_THROW_MSG(test_sprintf(\"%.*d\", big_num, 42), format_error,\n \"number is too big\");\n if (sizeof(long long) != sizeof(int)) {\n long long prec = static_cast(INT_MIN) - 1;\n EXPECT_THROW_MSG(test_sprintf(\"%.*d\", prec, 42), format_error," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e7584ded4e918b8", + "equalIndicator/v1": "2e76b1cbf2e3151abb88f0a2a2bbbcb4ade72529d26280e6ded86368f4956206" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2447, + "startColumn": 3, + "charOffset": 95718, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2445, + "startColumn": 1, + "charOffset": 95588, + "charLength": 220, + "snippet": { + "text": " // Only check compilation and don't run the code to avoid polluting the output\n // and since the output is tested elsewhere.\n if (fmt::detail::const_check(true)) return;\n auto s = adl_test::string();\n char buf[10];" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ffc9a93c20323fcc", + "equalIndicator/v1": "33229ed4206a97a244aa3d6f790b47270c8d03bd1e8a6012ca7378e8543bacee" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 337, + "startColumn": 3, + "charOffset": 10382, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 335, + "startColumn": 1, + "charOffset": 10251, + "charLength": 175, + "snippet": { + "text": " fmt::detail::write(std::back_inserter(s), double_double(42), {});\n // Specializing is_floating_point is broken in MSVC.\n if (!FMT_MSC_VERSION) EXPECT_EQ(s, \"42\");\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e98b9b6aab3468a", + "equalIndicator/v1": "40666a309cb3f0672057f292ce754e5fcb83e11124ee62f4d9cbcff2776ec355" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1405, + "startColumn": 3, + "charOffset": 60288, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1403, + "startColumn": 1, + "charOffset": 60225, + "charLength": 211, + "snippet": { + "text": " EXPECT_EQ(fmt::format(\"{:.9a}\", xd), \"0x2.000000000p+2\");\n\n if (std::numeric_limits::digits == 64) {\n auto ld = 0xf.ffffffffffp-3l;\n EXPECT_EQ(fmt::format(\"{:a}\", ld), \"0xf.ffffffffffp-3\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4af7807110cdc96a", + "equalIndicator/v1": "4f9ea6f34176f6e586816b0c644768c2ee2b79e338c45de2179946b12d247080" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1413, + "startColumn": 3, + "charOffset": 60577, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1411, + "startColumn": 1, + "charOffset": 60567, + "charLength": 186, + "snippet": { + "text": "#endif\n\n if (fmt::detail::const_check(std::numeric_limits::is_iec559)) {\n double d = (std::numeric_limits::min)();\n EXPECT_EQ(fmt::format(\"{:a}\", d), \"0x1p-1022\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "45e107c8a719f2fe", + "equalIndicator/v1": "6e7ae43f4f894b115da99070ee13acdc6141dca0a0925dbf23b39080736ac7b5" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/chrono-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 896, + "startColumn": 3, + "charOffset": 35887, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 894, + "startColumn": 1, + "charOffset": 35880, + "charLength": 193, + "snippet": { + "text": " }\n\n if (FMT_SAFE_DURATION_CAST) {\n using years = std::chrono::duration>;\n auto tp = sys_time(years(std::numeric_limits::max()));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c842374b00dafbdb", + "equalIndicator/v1": "7afaeb58e1dc005a8a7ca2dc13485f59b493cc7b00cd1029ad4a903fa4af9fb7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 3, + "charOffset": 2969, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 2848, + "charLength": 268, + "snippet": { + "text": " EXPECT_EQ(fmt::format(L\"{0}\", L'a'), L\"a\");\n EXPECT_EQ(fmt::format(L\"Letter {}\", L'\\x40e'), L\"Letter \\x40e\"); // Ў\n if (sizeof(wchar_t) == 4)\n EXPECT_EQ(fmt::format(fmt::runtime(L\"{:𓀨>3}\"), 42), L\"𓀨42\");\n EXPECT_EQ(fmt::format(L\"{}c{}\", L\"ab\", 1), L\"abc1\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "962c766dd0f36260", + "equalIndicator/v1": "848390f8442586389ba32beb4ec7db68ced46bdf98e883c79fecd3822f29efc7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1060, + "startColumn": 3, + "charOffset": 44642, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1058, + "startColumn": 1, + "charOffset": 44563, + "charLength": 241, + "snippet": { + "text": " testing::Contains(fmt::format(\"{:.838A}\", -2.14001164E+38)));\n\n if (std::numeric_limits::digits == 64) {\n auto ld = (std::numeric_limits::min)();\n EXPECT_EQ(fmt::format(\"{:.0}\", ld), \"3e-4932\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0149c12f60932591", + "equalIndicator/v1": "896f8d65f26e54b195ab4127c73aad360e65e529721782f525cb3a346aa5aa57" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1137, + "startColumn": 3, + "charOffset": 48175, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1135, + "startColumn": 1, + "charOffset": 48048, + "charLength": 291, + "snippet": { + "text": " EXPECT_THROW_MSG((void)fmt::format(runtime(\"{0:.{1}}\"), 0.0, -1l),\n format_error, bad_dynamic_spec_msg);\n if (fmt::detail::const_check(sizeof(long) > sizeof(int))) {\n long value = INT_MAX;\n EXPECT_THROW_MSG((void)fmt::format(runtime(\"{0:.{1}}\"), 0.0, (value + 1))," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a36fc6bcbb6aa0c", + "equalIndicator/v1": "9213e25dcf20f7e2b6f0e9d46271724fcd8e9bfa371ebbd74e1a89a2e432ccdb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 344, + "startColumn": 3, + "charOffset": 10634, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 342, + "startColumn": 1, + "charOffset": 10497, + "charLength": 187, + "snippet": { + "text": " fmt::detail::write(std::back_inserter(s), slow_float(33554450.0f), {});\n // Specializing is_floating_point is broken in MSVC.\n if (!FMT_MSC_VERSION) EXPECT_EQ(s, \"33554450\");\n}\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a163c128b801a32b", + "equalIndicator/v1": "a34ac90052f378769e61a679deebfe932bf21c2dfa886f68a3b9ced2bf12facc" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1425, + "startColumn": 3, + "charOffset": 61046, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1423, + "startColumn": 1, + "charOffset": 61039, + "charLength": 171, + "snippet": { + "text": " }\n\n if (std::numeric_limits::digits == 64) {\n auto ld = (std::numeric_limits::min)();\n EXPECT_EQ(fmt::format(\"{:a}\", ld), \"0x8p-16385\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "24b06331c581aac9", + "equalIndicator/v1": "ba935bb78791771dcb312afdb884d2c0bc0ceedd94c95b22e3e90560b2e0dead" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppIfCanBeReplacedByConstexprIf", + "kind": "fail", + "level": "note", + "message": { + "text": "If statement with constant condition can be replaced with 'if constexpr'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 161, + "startColumn": 3, + "charOffset": 5409, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 159, + "startColumn": 1, + "charOffset": 5331, + "charLength": 168, + "snippet": { + "text": "TEST(xchar_test, print) {\n // Check that the wide print overload compiles.\n if (fmt::detail::const_check(false)) {\n fmt::print(L\"test\");\n fmt::println(L\"test\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9562d1596866f1d2", + "equalIndicator/v1": "dfb01a937d43a6832020e234c525c941ca6bc8dd256eaec12597eaff7dec6c90" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppJoinDeclarationAndAssignment", + "kind": "fail", + "level": "note", + "message": { + "text": "Declaration and assignment can be joined", + "markdown": "Declaration and assignment can be joined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 346, + "startColumn": 8, + "charOffset": 9902, + "charLength": 2, + "snippet": { + "text": "f2" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 344, + "startColumn": 1, + "charOffset": 9847, + "charLength": 113, + "snippet": { + "text": " int fd = f.descriptor();\n EXPECT_NE(-1, fd);\n file f2;\n f2 = std::move(f);\n EXPECT_EQ(fd, f2.descriptor());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a5119590ce425df", + "equalIndicator/v1": "0be615343995cabd5fa3b2f14724113703785ff2117333bbd79ca543421ad476" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppJoinDeclarationAndAssignment", + "kind": "fail", + "level": "note", + "message": { + "text": "Declaration and assignment can be joined", + "markdown": "Declaration and assignment can be joined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 374, + "startColumn": 8, + "charOffset": 10494, + "charLength": 1, + "snippet": { + "text": "f" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 372, + "startColumn": 1, + "charOffset": 10415, + "charLength": 144, + "snippet": { + "text": "TEST(file_test, move_from_temporary_in_assignment) {\n int fd = 0xdead;\n file f;\n f = open_buffered_file(fd);\n EXPECT_EQ(fd, f.descriptor());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dcb843d1a3928184", + "equalIndicator/v1": "591991d457b7684dacfe45b51821d8b46e80f50e5523bd6a0e724e12481b815c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppJoinDeclarationAndAssignment", + "kind": "fail", + "level": "note", + "message": { + "text": "Declaration and assignment can be joined", + "markdown": "Declaration and assignment can be joined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 429, + "startColumn": 15, + "charOffset": 13036, + "charLength": 3, + "snippet": { + "text": "end" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 427, + "startColumn": 1, + "charOffset": 12999, + "charLength": 85, + "snippet": { + "text": " int e;\n uint32_t c;\n const char* end;\n\n char buf2[8] = {char(0xc0), char(0xA4)};" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "84b1eec3f362f936", + "equalIndicator/v1": "79682a9722bcd3ddb847bc51e15b1b2c322eca8db66c1211f87cacf4b02bfe10" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'c' can be made const", + "markdown": "Local variable 'c' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2238, + "startColumn": 8, + "charOffset": 88750, + "charLength": 1, + "snippet": { + "text": "c" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2236, + "startColumn": 1, + "charOffset": 88652, + "charLength": 173, + "snippet": { + "text": " // Test that we don't inject detail names into the std namespace.\n using namespace std;\n auto c = char_traits::char_type();\n (void)c;\n#if FMT_CPLUSPLUS >= 201103L" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5b9932838caa1800", + "equalIndicator/v1": "025dfaffac61978fe63bf6f03aba9b631e38b8cb94819eacb9fb4635f40f823c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'result' can be made const", + "markdown": "Local variable 'result' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1843, + "startColumn": 9, + "charOffset": 76804, + "charLength": 6, + "snippet": { + "text": "result" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1841, + "startColumn": 1, + "charOffset": 76752, + "charLength": 134, + "snippet": { + "text": " std::thread reader([&]() {\n int n = 0;\n int result = fscanf(read_end.get(), \"%d\", &n);\n (void)result;\n EXPECT_EQ(n, 42);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53baec256045c729", + "equalIndicator/v1": "02713ef59f72eeed078c49b75656da716987015f7b2ca93664771a6276e59b0f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'n1' can be made const", + "markdown": "Local variable 'n1' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 10, + "charOffset": 823, + "charLength": 2, + "snippet": { + "text": "n1" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 784, + "charLength": 96, + "snippet": { + "text": "\nTEST(bigint_test, compare) {\n bigint n1(42);\n bigint n2(42);\n EXPECT_EQ(compare(n1, n2), 0);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25497731cd4915e5", + "equalIndicator/v1": "031c7ea3e2ffe41ae13e063f67bbe27a1035e3fa6199f68dcbc1b021f99c622c" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test_suite' can be made const", + "markdown": "Local variable 'test_suite' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6323, + "startColumn": 13, + "charOffset": 236901, + "charLength": 10, + "snippet": { + "text": "test_suite" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6321, + "startColumn": 1, + "charOffset": 236846, + "charLength": 137, + "snippet": { + "text": " *stream << \"{\\n\";\n int total_tests = 0;\n for (auto test_suite : test_suites) {\n total_tests += test_suite->total_test_count();\n }" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "defc9c411790e634", + "equalIndicator/v1": "03ffd58a38ac9df7ac82d3af1b739fd4a2485456b7ccd175a934e524fdaa0f89" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'read_fd' can be made const", + "markdown": "Local variable 'read_fd' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 513, + "startColumn": 7, + "charOffset": 14162, + "charLength": 7, + "snippet": { + "text": "read_fd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 511, + "startColumn": 1, + "charOffset": 14103, + "charLength": 172, + "snippet": { + "text": "TEST(file_test, fdopen) {\n auto pipe = fmt::pipe();\n int read_fd = pipe.read_end.descriptor();\n EXPECT_EQ(read_fd, FMT_POSIX(fileno(pipe.read_end.fdopen(\"r\").get())));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cc6bd25951297c18", + "equalIndicator/v1": "0559e9024abd727aa2d5dc64df44fff9305b2238db853b4603b12f75a691bf84" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'file' can be made const", + "markdown": "Local variable 'file' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 321, + "startColumn": 19, + "charOffset": 10478, + "charLength": 4, + "snippet": { + "text": "file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 319, + "startColumn": 1, + "charOffset": 10429, + "charLength": 125, + "snippet": { + "text": " auto pipe = fmt::pipe();\n {\n buffered_file file(pipe.write_end.fdopen(\"w\"));\n std::fprintf(file.get(), \"[[[\");\n {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8efb0ec187f3dc52", + "equalIndicator/v1": "082c0580c1c9b8c69fbe8d3d179c2e51b7b859d6456056b8da00e10ceae0ec4b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'contents' can be made const", + "markdown": "Local variable 'contents' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8028, + "startColumn": 15, + "charOffset": 301298, + "charLength": 8, + "snippet": { + "text": "contents" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 8026, + "startColumn": 1, + "charOffset": 301249, + "charLength": 145, + "snippet": { + "text": " << \"\\\"\";\n }\n std::string contents(ReadEntireFile(flagfile));\n posix::FClose(flagfile);\n std::vector lines;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90336cd03ac5c7a6", + "equalIndicator/v1": "084b79d8ea99824eb5406bc24e674ac68ca36066060b0145ad941ba13a0f4b98" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'small_grouping_loc' can be made const", + "markdown": "Local variable 'small_grouping_loc' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 425, + "startColumn": 8, + "charOffset": 14650, + "charLength": 18, + "snippet": { + "text": "small_grouping_loc" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 423, + "startColumn": 1, + "charOffset": 14569, + "charLength": 198, + "snippet": { + "text": " EXPECT_EQ(\"12,345\", fmt::format(special_grouping_loc, \"{:L}\", 12345));\n\n auto small_grouping_loc =\n std::locale(std::locale(), new small_grouping());\n EXPECT_EQ(\"4,2,9,4,9,6,7,2,9,5\"," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "606a8757d29e2580", + "equalIndicator/v1": "08602fd8acfb97315eb0d0cf4b93d9217b2ce91a3c9e929ce436144a64cfacaf" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'loc' can be made const", + "markdown": "Local variable 'loc' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 437, + "startColumn": 8, + "charOffset": 15052, + "charLength": 3, + "snippet": { + "text": "loc" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 435, + "startColumn": 1, + "charOffset": 15011, + "charLength": 148, + "snippet": { + "text": "\nTEST(locale_test, format_plus) {\n auto loc = std::locale({}, new special_grouping());\n EXPECT_EQ(\"+100\", fmt::format(loc, \"{:+L}\", 100));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d2d4d3c389e08fa8", + "equalIndicator/v1": "089ccc23c7ec2aecf6ec1d14946920e2ed429e571f0b3fa36e175797a7a5fc41" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'result' can be made const", + "markdown": "Local variable 'result' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 8, + "charOffset": 1580, + "charLength": 6, + "snippet": { + "text": "result" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 1531, + "charLength": 153, + "snippet": { + "text": " store.push_back(std::cref(c));\n ++c.i;\n auto result = fmt::vformat(\"{} and {} and {}\", store);\n EXPECT_EQ(\"cust=0 and cust=1 and cust=3\", result);\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70e586cd4d79723b", + "equalIndicator/v1": "09e5218bcc0f81ab2bea8a20ba640a87d532c476a0f06ba08f6c119c78f7fbeb" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'args' can be made const", + "markdown": "Local variable 'args' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 8, + "charOffset": 3861, + "charLength": 4, + "snippet": { + "text": "args" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 3809, + "charLength": 167, + "snippet": { + "text": "TEST(xchar_test, vformat_to) {\n int n = 42;\n auto args = fmt::make_wformat_args(n);\n auto w = std::wstring();\n fmt::vformat_to(std::back_inserter(w), L\"{}\", args);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d057df9f992d772a", + "equalIndicator/v1": "0a56b83dd1ec79f3609b54840293d2063d4c8413ded29cc8525d3338595ea689" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'prec' can be made const", + "markdown": "Local variable 'prec' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 311, + "startColumn": 15, + "charOffset": 10718, + "charLength": 4, + "snippet": { + "text": "prec" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 309, + "startColumn": 1, + "charOffset": 10621, + "charLength": 250, + "snippet": { + "text": " \"number is too big\");\n if (sizeof(long long) != sizeof(int)) {\n long long prec = static_cast(INT_MIN) - 1;\n EXPECT_THROW_MSG(test_sprintf(\"%.*d\", prec, 42), format_error,\n \"number is too big\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "45f341fc809d7325", + "equalIndicator/v1": "0cc8f72b49c0719662396e14d069e3d828054b899705beb608eee4baa2495235" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test_file' can be made const", + "markdown": "Local variable 'test_file' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 239, + "startColumn": 8, + "charOffset": 7093, + "charLength": 9, + "snippet": { + "text": "test_file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 237, + "startColumn": 1, + "charOffset": 7058, + "charLength": 160, + "snippet": { + "text": "\nTEST(ostream_test, move) {\n auto test_file = uniq_file_name(__LINE__);\n fmt::ostream out = fmt::output_file(test_file);\n fmt::ostream moved(std::move(out));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8032a3d476414917", + "equalIndicator/v1": "0d292e082be997a341418fd899e259a21865ae5fa13808394282b25265ae9992" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 's' can be made const", + "markdown": "Local variable 's' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1914, + "startColumn": 8, + "charOffset": 78619, + "charLength": 1, + "snippet": { + "text": "s" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1912, + "startColumn": 1, + "charOffset": 78584, + "charLength": 133, + "snippet": { + "text": "\nTEST(format_test, bytes) {\n auto s = fmt::format(\"{:10}\", fmt::bytes(\"ёжик\"));\n EXPECT_EQ(\"ёжик \", s);\n EXPECT_EQ(10, s.size());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0f842d7655ac7958", + "equalIndicator/v1": "0d5eacfe3632441e5050f6b2962a7db05a88941e8adb854d0701e9cee7f11112" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'f' can be made const", + "markdown": "Local variable 'f' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 232, + "startColumn": 8, + "charOffset": 6917, + "charLength": 1, + "snippet": { + "text": "f" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 230, + "startColumn": 1, + "charOffset": 6870, + "charLength": 150, + "snippet": { + "text": "\nTEST(buffered_file_test, descriptor) {\n auto f = open_buffered_file();\n EXPECT_TRUE(f.descriptor() != -1);\n file copy = file::dup(f.descriptor());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c195efad0d7fe1a3", + "equalIndicator/v1": "0ea58eb9c0d65edd263fe8350189fe610df6fb3623a13695445be0e1156e5e4f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'size' can be made const", + "markdown": "Local variable 'size' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 419, + "startColumn": 12, + "charOffset": 13622, + "charLength": 4, + "snippet": { + "text": "size" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 417, + "startColumn": 1, + "charOffset": 13522, + "charLength": 225, + "snippet": { + "text": " (test_allocator(&alloc)));\n EXPECT_EQ(&alloc, buffer2.get_allocator().get());\n size_t size = 2 * fmt::inline_buffer_size;\n EXPECT_CALL(alloc, allocate(size)).WillOnce(Return(&mem));\n buffer2.reserve(size);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8e9d9c7716985f64", + "equalIndicator/v1": "0ee8645b7b2ce00fb3b600460808b24dfbb2cd2a174ef968ab130d01e4e9654e" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'result' can be made const", + "markdown": "Local variable 'result' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 529, + "startColumn": 7, + "charOffset": 18565, + "charLength": 6, + "snippet": { + "text": "result" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 527, + "startColumn": 1, + "charOffset": 18498, + "charLength": 156, + "snippet": { + "text": "TEST(printf_test, printf_error) {\n auto pipe = fmt::pipe();\n int result = fmt::fprintf(pipe.read_end.fdopen(\"r\").get(), \"test\");\n EXPECT_LT(result, 0);\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57f9504a61eff8fc", + "equalIndicator/v1": "0fd798f48977a51fdefd98cddaea48938551132cff417c7de461066531428229" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'content' can be made const", + "markdown": "Local variable 'content' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/posix-mock-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 252, + "startColumn": 15, + "charOffset": 5982, + "charLength": 7, + "snippet": { + "text": "content" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 250, + "startColumn": 1, + "charOffset": 5943, + "charLength": 149, + "snippet": { + "text": "\nTEST(file_test, size) {\n std::string content = \"top secret, destroy before reading\";\n write_file(\"temp\", content);\n file f(\"temp\", file::RDONLY);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf518b69b2263ce5", + "equalIndicator/v1": "112bbc3c0c11b6443c91a78bb586d496ce288203fdb43d934934853ccdd2c9d6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 't1' can be made const", + "markdown": "Local variable 't1' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 404, + "startColumn": 8, + "charOffset": 12564, + "charLength": 2, + "snippet": { + "text": "t1" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 402, + "startColumn": 1, + "charOffset": 12502, + "charLength": 179, + "snippet": { + "text": "TEST(ranges_test, join_tuple) {\n // Value tuple args.\n auto t1 = std::tuple('a', 1, 2.0f);\n EXPECT_EQ(fmt::format(\"({})\", fmt::join(t1, \", \")), \"(a, 1, 2)\");\n" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "05002803e027c463", + "equalIndicator/v1": "1141caf34f3c154d01fa153733f0419452c67501c648b064e029f5d17d2aaa70" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test_file' can be made const", + "markdown": "Local variable 'test_file' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 442, + "startColumn": 8, + "charOffset": 12248, + "charLength": 9, + "snippet": { + "text": "test_file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 440, + "startColumn": 1, + "charOffset": 12189, + "charLength": 158, + "snippet": { + "text": "TEST(file_test, write) {\n auto pipe = fmt::pipe();\n auto test_file = uniq_file_name(__LINE__);\n write(pipe.write_end, test_file);\n pipe.write_end.close();" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "657e2057a3c8a8e2", + "equalIndicator/v1": "11ddeb65d0ac2c738e7aab2bdcc815e52b6fc56449db1f46f5c2aaa0ec7f7a3b" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test_file' can be made const", + "markdown": "Local variable 'test_file' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 449, + "startColumn": 8, + "charOffset": 12430, + "charLength": 9, + "snippet": { + "text": "test_file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 447, + "startColumn": 1, + "charOffset": 12391, + "charLength": 196, + "snippet": { + "text": "\nTEST(file_test, write_error) {\n auto test_file = uniq_file_name(__LINE__);\n file f(test_file, file::RDONLY | file::CREATE);\n // We intentionally write to a file opened in the read-only mode to" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2e1a36b94f476f9f", + "equalIndicator/v1": "1360770b7d385d36dd90dc57c2d7c42fd5fd4db430ca980b474b29b522fffc45" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'max' can be made const", + "markdown": "Local variable 'max' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/printf-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 468, + "startColumn": 7, + "charOffset": 16722, + "charLength": 3, + "snippet": { + "text": "max" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 466, + "startColumn": 1, + "charOffset": 16657, + "charLength": 197, + "snippet": { + "text": "TEST(printf_test, char) {\n EXPECT_PRINTF(\"x\", \"%c\", 'x');\n int max = max_value();\n EXPECT_PRINTF(fmt::format(\"{}\", static_cast(max)), \"%c\", max);\n // EXPECT_PRINTF(\"x\", \"%lc\", L'x');" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5c215ee95696599", + "equalIndicator/v1": "1386e774319157e0a1449c3a837c297a3b8d041df72f9443644b90e6509f1ed3" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'write_fd' can be made const", + "markdown": "Local variable 'write_fd' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1830, + "startColumn": 7, + "charOffset": 76448, + "charLength": 8, + "snippet": { + "text": "write_fd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1828, + "startColumn": 1, + "charOffset": 76414, + "charLength": 171, + "snippet": { + "text": " auto pipe = fmt::pipe();\n\n int write_fd = pipe.write_end.descriptor();\n auto write_end = pipe.write_end.fdopen(\"w\");\n setvbuf(write_end.get(), nullptr, _IOLBF, 4096);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "620ecf28f2c4237f", + "equalIndicator/v1": "14873456ba5bf98d4f17b437fd331260e7a4f7fd6a552b51bef8c3b7df474a19" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'cur_addr' can be made pointer to const", + "markdown": "Local variable 'cur_addr' can be made pointer to const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6403, + "startColumn": 18, + "charOffset": 239566, + "charLength": 8, + "snippet": { + "text": "cur_addr" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 6401, + "startColumn": 1, + "charOffset": 239481, + "charLength": 204, + "snippet": { + "text": "\n // Loop through all the results and connect to the first we can.\n for (addrinfo* cur_addr = servinfo; sockfd_ == -1 && cur_addr != nullptr;\n cur_addr = cur_addr->ai_next) {\n sockfd_ = socket(" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6549e64e81e5e611", + "equalIndicator/v1": "18029fb84d01f32da193a77aa17ef09b1f70a3f7817d228dad1a9bc8ab7bc6e6" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'value' can be made const", + "markdown": "Local variable 'value' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 465, + "startColumn": 7, + "charOffset": 12943, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 463, + "startColumn": 1, + "charOffset": 12885, + "charLength": 196, + "snippet": { + "text": "# ifndef __COVERITY__\nTEST(file_test, dup_error) {\n int value = -1;\n EXPECT_SYSTEM_ERROR_NOASSERT(file::dup(value), EBADF,\n \"cannot duplicate file descriptor -1\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "932dd98b362aa6f7", + "equalIndicator/v1": "1e83524bba6317c3173ccf7e74f476e64384e6a3aef5766ea271c94665e59937" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'end' can be made const", + "markdown": "Local variable 'end' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1730, + "startColumn": 8, + "charOffset": 72761, + "charLength": 3, + "snippet": { + "text": "end" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1728, + "startColumn": 1, + "charOffset": 72695, + "charLength": 162, + "snippet": { + "text": "TEST(format_test, format_to_custom) {\n char buf[10] = {};\n auto end = fmt::format_to(buf, \"{}\", Answer());\n EXPECT_EQ(end, buf + 2);\n EXPECT_STREQ(buf, \"42\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0b6609ee2a57a662", + "equalIndicator/v1": "1edf28b5c413d992658c9f9403aba5d30155ca43a12c7afd144b9dd0ad0125de" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'write_fd' can be made const", + "markdown": "Local variable 'write_fd' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest-extra-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 335, + "startColumn": 7, + "charOffset": 10877, + "charLength": 8, + "snippet": { + "text": "write_fd" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 333, + "startColumn": 1, + "charOffset": 10794, + "charLength": 220, + "snippet": { + "text": "TEST(output_redirect_test, flush_error_in_ctor) {\n auto pipe = fmt::pipe();\n int write_fd = pipe.write_end.descriptor();\n file write_copy = pipe.write_end.dup(write_fd);\n buffered_file f = pipe.write_end.fdopen(\"w\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a6a21c10a3bd180", + "equalIndicator/v1": "234ff509ab528ad4c422c6767716f3b6644caf0d294eeea0718f9e65d9686154" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'p' can be made const", + "markdown": "Local variable 'p' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 485, + "startColumn": 8, + "charOffset": 15974, + "charLength": 1, + "snippet": { + "text": "p" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 483, + "startColumn": 1, + "charOffset": 15927, + "charLength": 151, + "snippet": { + "text": "\nTEST(format_test, digits2_alignment) {\n auto p =\n fmt::detail::bit_cast(fmt::detail::digits2(0));\n EXPECT_EQ(p % 2, 0);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de6cffb1e88f6e90", + "equalIndicator/v1": "23c08736d421296a2c121eaaaefbac9a042763f580e8407c3f10cd9a7ab8d472" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 't' can be made const", + "markdown": "Local variable 't' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/chrono-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 231, + "startColumn": 8, + "charOffset": 6783, + "charLength": 1, + "snippet": { + "text": "t" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 229, + "startColumn": 1, + "charOffset": 6720, + "charLength": 147, + "snippet": { + "text": " for (int i = 0; i < 30; ++i) s += \"%c\";\n s += \"}\\n\";\n auto t = std::time(nullptr);\n (void)fmt::format(fmt::runtime(s), *std::localtime(&t));\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6f49be74da38376d", + "equalIndicator/v1": "24f033715efc5ee6c0d02fc6100c59804cc872878681e46a7c8279022dae3010" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'n' can be made const", + "markdown": "Local variable 'n' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1864, + "startColumn": 10, + "charOffset": 77312, + "charLength": 1, + "snippet": { + "text": "n" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 1862, + "startColumn": 1, + "charOffset": 77235, + "charLength": 222, + "snippet": { + "text": " auto read_end = pipe.read_end.fdopen(\"r\");\n char buf[4091] = {};\n size_t n = fread(buf, 1, sizeof(buf), read_end.get());\n EXPECT_EQ(n, sizeof(buf));\n EXPECT_STREQ(fgets(buf, sizeof(buf), read_end.get()), \"1234 567\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f04eaf99acd0d70", + "equalIndicator/v1": "2576d1f238ef6be8f137259dae221b588931722c57d30d6543c71715fe77baa2" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'f2' can be made const", + "markdown": "Local variable 'f2' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 337, + "startColumn": 8, + "charOffset": 9700, + "charLength": 2, + "snippet": { + "text": "f2" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 335, + "startColumn": 1, + "charOffset": 9645, + "charLength": 139, + "snippet": { + "text": " int fd = f.descriptor();\n EXPECT_NE(-1, fd);\n file f2(std::move(f));\n EXPECT_EQ(fd, f2.descriptor());\n EXPECT_EQ(-1, f.descriptor());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "af070d54a1bacac2", + "equalIndicator/v1": "2601aefcb9e0788e52cbf79f03e6ef677b03cb9097feb4ed6064249cabd239e7" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'n' can be made const", + "markdown": "Local variable 'n' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 81, + "startColumn": 8, + "charOffset": 2248, + "charLength": 1, + "snippet": { + "text": "n" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 79, + "startColumn": 1, + "charOffset": 2212, + "charLength": 87, + "snippet": { + "text": "\nTEST(uint128_test, minus) {\n auto n = uint128_fallback(42);\n EXPECT_EQ(n - 2, 40);\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d138cda343ad772", + "equalIndicator/v1": "271e67eef891c65ff63626540ab7e92290713d2e05ea9c2ee7ac69f15c884484" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'u' can be made const", + "markdown": "Local variable 'u' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-impl-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 473, + "startColumn": 8, + "charOffset": 14676, + "charLength": 1, + "snippet": { + "text": "u" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 471, + "startColumn": 1, + "charOffset": 14603, + "charLength": 194, + "snippet": { + "text": "TEST(format_impl_test, to_utf8) {\n auto s = std::string(\"ёжик\");\n auto u = fmt::detail::to_utf8(L\"\\x0451\\x0436\\x0438\\x043A\");\n EXPECT_EQ(s, u.str());\n EXPECT_EQ(s.size(), u.size());" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb6fea98273dd186", + "equalIndicator/v1": "2735aa3ef00f9a48fd545e65368b0d8537f4281824662b96b8f9ccd7edf5407f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test_file' can be made const", + "markdown": "Local variable 'test_file' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 432, + "startColumn": 8, + "charOffset": 11924, + "charLength": 9, + "snippet": { + "text": "test_file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 430, + "startColumn": 1, + "charOffset": 11886, + "charLength": 137, + "snippet": { + "text": "\nTEST(file_test, read_error) {\n auto test_file = uniq_file_name(__LINE__);\n file f(test_file, file::WRONLY | file::CREATE);\n char buf;" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "74a0b7b405c97c04", + "equalIndicator/v1": "27a5ea82851493918f4e290943a0ccfc31a0964be6bfa018cbbc8419125d56c9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'max_flow' can be made const", + "markdown": "Local variable 'max_flow' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/gtest/gmock-gtest-all.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13281, + "startColumn": 10, + "charOffset": 489787, + "charLength": 8, + "snippet": { + "text": "max_flow" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 13279, + "startColumn": 1, + "charOffset": 489711, + "charLength": 200, + "snippet": { + "text": " ElementMatcherPairs matches = FindMaxBipartiteMatching(matrix);\n\n size_t max_flow = matches.size();\n if ((match_flags() & UnorderedMatcherRequire::Superset) &&\n max_flow < matrix.RhsSize()) {" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c20ae303f84779ff", + "equalIndicator/v1": "2d1887cba3bede7d72b006d2f4ff02ceb780f03814fd82df8a10d918be771381" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'loc' can be made const", + "markdown": "Local variable 'loc' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 406, + "startColumn": 8, + "charOffset": 13724, + "charLength": 3, + "snippet": { + "text": "loc" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 404, + "startColumn": 1, + "charOffset": 13688, + "charLength": 221, + "snippet": { + "text": "\nTEST(locale_test, format) {\n auto loc = std::locale(std::locale(), new numpunct());\n EXPECT_EQ(\"1234567\", fmt::format(std::locale(), \"{:L}\", 1234567));\n EXPECT_EQ(\"1~234~567\", fmt::format(loc, \"{:L}\", 1234567));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "beaef6514f226bd1", + "equalIndicator/v1": "2d59d1cc679038f106f3e8035d40e842ef896112fb747d7b03b2ea91f3a92a6f" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'v' can be made const", + "markdown": "Local variable 'v' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/ranges-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 8, + "charOffset": 2786, + "charLength": 1, + "snippet": { + "text": "v" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 2740, + "charLength": 149, + "snippet": { + "text": "\nTEST(ranges_test, to_string_vector) {\n auto v = std::vector{\"a\", \"b\", \"c\"};\n EXPECT_EQ(fmt::to_string(v), \"[\\\"a\\\", \\\"b\\\", \\\"c\\\"]\");\n}" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ab43521efec20ad1", + "equalIndicator/v1": "2e35430acf33969446503330441fae77ceb99f8bb6d500b1ef6b330a653dcbb9" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 's' can be made const", + "markdown": "Local variable 's' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/args-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 84, + "startColumn": 8, + "charOffset": 2185, + "charLength": 1, + "snippet": { + "text": "s" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 82, + "startColumn": 1, + "charOffset": 2075, + "charLength": 185, + "snippet": { + "text": "TEST(args_test, to_string_and_formatter) {\n fmt::dynamic_format_arg_store store;\n auto s = to_stringable();\n store.push_back(s);\n store.push_back(std::cref(s));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a85660de3c78e056", + "equalIndicator/v1": "2f4b12d100587fb787014c00c3bd75f703454f5c32ffae76298039884cd63673" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'args' can be made const", + "markdown": "Local variable 'args' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/format-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2226, + "startColumn": 8, + "charOffset": 88369, + "charLength": 4, + "snippet": { + "text": "args" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 2224, + "startColumn": 1, + "charOffset": 88309, + "charLength": 181, + "snippet": { + "text": " using context = fmt::format_context;\n int n = 42;\n auto args = fmt::make_format_args(n);\n auto s = std::string();\n fmt::vformat_to(std::back_inserter(s), \"{}\", args);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0580f7b81b162b6a", + "equalIndicator/v1": "35bd8f2de0fda01ecb1e847d132439c9527e89fd87fc33f85ff7437dafd2a853" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'loc' can be made const", + "markdown": "Local variable 'loc' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/xchar-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 465, + "startColumn": 8, + "charOffset": 16178, + "charLength": 3, + "snippet": { + "text": "loc" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 463, + "startColumn": 1, + "charOffset": 16135, + "charLength": 191, + "snippet": { + "text": "\nTEST(locale_test, int_formatter) {\n auto loc = std::locale(std::locale(), new special_grouping());\n auto f = fmt::formatter();\n auto parse_ctx = fmt::format_parse_context(\"L\");" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "869e836c8b628640", + "equalIndicator/v1": "35f0ffe5f2a051cb5349935cf4ba415d5f41a7a7b3bf284385c13863f79d185a" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test_file' can be made const", + "markdown": "Local variable 'test_file' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/os-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 270, + "startColumn": 8, + "charOffset": 7922, + "charLength": 9, + "snippet": { + "text": "test_file" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 268, + "startColumn": 1, + "charOffset": 7840, + "charLength": 193, + "snippet": { + "text": "TEST(ostream_test, buffer_boundary) {\n auto str = std::string(4096, 'x');\n auto test_file = uniq_file_name(__LINE__);\n fmt::ostream out = fmt::output_file(test_file);\n out.print(\"{}\", str);" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "94fa4fe472b1ab93", + "equalIndicator/v1": "35fcce37e4a3a68e57c2329356df2f83ccfe429d709813333cb677f0c114ad99" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'test' can be made const", + "markdown": "Local variable 'test' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 263, + "startColumn": 8, + "charOffset": 8053, + "charLength": 4, + "snippet": { + "text": "test" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 261, + "startColumn": 1, + "charOffset": 7991, + "charLength": 141, + "snippet": { + "text": " char data[19];\n mock_buffer buffer(data, 10);\n auto test = \"abcdefgh\";\n buffer.try_resize(10);\n EXPECT_CALL(buffer, do_grow(19));" + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "04537957f04fa7ae", + "equalIndicator/v1": "363af2d0319055ea6e4f6255d7c9af74fa99b1f5717ff691f0b80d8e79511b27" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'f2' can be made const", + "markdown": "Local variable 'f2' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/posix-mock-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 348, + "startColumn": 35, + "charOffset": 8565, + "charLength": 2, + "snippet": { + "text": "f2" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 346, + "startColumn": 1, + "charOffset": 8456, + "charLength": 254, + "snippet": { + "text": "TEST(file_test, dup2_retry) {\n int stdout_fd = FMT_POSIX(fileno(stdout));\n file f1 = file::dup(stdout_fd), f2 = file::dup(stdout_fd);\n EXPECT_RETRY(f1.dup2(f2.descriptor()), dup2,\n fmt::format(\"cannot duplicate file descriptor {} to {}\"," + }, + "sourceLanguage": "C++" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "194e28e88004d24d", + "equalIndicator/v1": "3a4a0eceba3d50c40ce3fdc2bd6361369d08507f8637a20c96c2883dbbc93a05" + }, + "baselineState": "new", + "properties": { + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info", + "problemType": "REGULAR", + "tags": [ + "C++" + ] + } + }, + { + "ruleId": "CppLocalVariableMayBeConst", + "kind": "fail", + "level": "note", + "message": { + "text": "Local variable 'num_inputs' can be made const", + "markdown": "Local variable 'num_inputs' can be made const" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "test/base-test.cc", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 10, + "charOffset": 1676, + "charLength": 10, + "snippet": { + "text": "num_inputs" + }, + "sourceLanguage": "C++" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 1562, + "charLength": 250, + "snippet": { + "text": "template