1{ 2 "available_categories" : ["readability", "qt4", "containers", "qstring", "cpp", "bug", "performance", "deprecation", "qml"], 3 "checks" : [ 4 { 5 "name" : "qt-keywords", 6 "level" : -1, 7 "fixits" : [ 8 { 9 "name" : "qt-keywords" 10 } 11 ] 12 }, 13 { 14 "name" : "ifndef-define-typo", 15 "level" : -1, 16 "categories" : ["bug"] 17 }, 18 { 19 "name" : "inefficient-qlist", 20 "level" : -1, 21 "categories" : ["containers", "performance"], 22 "visits_decls" : true 23 }, 24 { 25 "name" : "isempty-vs-count", 26 "class_name" : "IsEmptyVSCount", 27 "level" : -1, 28 "categories" : ["readability"], 29 "visits_stmts" : true 30 }, 31 { 32 "name" : "qrequiredresult-candidates", 33 "class_name" : "QRequiredResultCandidates", 34 "level" : -1, 35 "categories" : ["bug"], 36 "visits_decls" : true 37 }, 38 { 39 "name" : "qstring-varargs", 40 "level" : -1, 41 "categories" : ["bug"], 42 "visits_stmts" : true 43 }, 44 { 45 "name" : "qt4-qstring-from-array", 46 "class_name" : "Qt4QStringFromArray", 47 "level" : -1, 48 "categories" : ["qt4", "qstring"], 49 "fixits" : [ 50 { 51 "name" : "qt4-qstring-from-array" 52 } 53 ], 54 "visits_stmts" : true 55 }, 56 { 57 "name" : "tr-non-literal", 58 "level" : -1, 59 "categories" : ["bug"], 60 "visits_stmts" : true 61 }, 62 { 63 "name" : "raw-environment-function", 64 "level" : -1, 65 "categories" : ["bug"], 66 "visits_stmts" : true 67 }, 68 { 69 "name" : "container-inside-loop", 70 "level" : -1, 71 "categories" : ["containers", "performance"], 72 "visits_stmts" : true 73 }, 74 { 75 "name" : "qhash-with-char-pointer-key", 76 "level" : -1, 77 "categories" : ["cpp", "bug"], 78 "visits_decls" : true 79 }, 80 { 81 "name" : "connect-by-name", 82 "level" : 0, 83 "categories" : ["bug", "readability"], 84 "visits_decls" : true 85 }, 86 { 87 "name" : "connect-non-signal", 88 "minimum_qt_version" : 50700, 89 "level" : 0, 90 "categories" : ["bug"], 91 "visits_stmts" : true 92 }, 93 { 94 "name" : "wrong-qevent-cast", 95 "level" : 0, 96 "categories" : ["bug"], 97 "visits_stmts" : true 98 }, 99 { 100 "name" : "lambda-in-connect", 101 "level" : 0, 102 "categories" : ["bug"], 103 "visits_stmts" : true 104 }, 105 { 106 "name" : "lambda-unique-connection", 107 "level" : 0, 108 "categories" : ["bug"], 109 "visits_stmts" : true 110 }, 111 { 112 "name" : "qdatetime-utc", 113 "class_name" : "QDateTimeUtc", 114 "level" : 0, 115 "categories" : ["performance"], 116 "fixits" : [ 117 { 118 "name" : "qdatetime-utc" 119 } 120 ], 121 "visits_stmts" : true 122 }, 123 { 124 "name" : "qgetenv", 125 "class_name" : "QGetEnv", 126 "level" : 0, 127 "minimum_qt_version" : 50500, 128 "categories" : ["performance"], 129 "fixits" : [ 130 { 131 "name" : "qgetenv" 132 } 133 ], 134 "visits_stmts" : true 135 }, 136 { 137 "name" : "qstring-insensitive-allocation", 138 "level" : 0, 139 "categories" : ["performance", "qstring"], 140 "visits_stmts" : true 141 }, 142 { 143 "name" : "fully-qualified-moc-types", 144 "class_name" : "FullyQualifiedMocTypes", 145 "level" : 0, 146 "categories" : ["bug", "qml"], 147 "visits_decls" : true 148 }, 149 { 150 "name" : "qvariant-template-instantiation", 151 "level" : 0, 152 "categories" : ["performance"], 153 "visits_stmts" : true 154 }, 155 { 156 "name" : "unused-non-trivial-variable", 157 "level" : 0, 158 "categories" : ["readability"], 159 "visits_stmts" : true 160 }, 161 { 162 "name" : "connect-not-normalized", 163 "level" : 0, 164 "categories" : ["performance"], 165 "visits_stmts" : true 166 }, 167 { 168 "name" : "mutable-container-key", 169 "level" : 0, 170 "categories" : ["containers", "bug"], 171 "visits_decls" : true 172 }, 173 { 174 "name" : "qenums", 175 "level" : 0, 176 "minimum_qt_version" : 50500, 177 "categories" : ["deprecation"] 178 }, 179 { 180 "name" : "qmap-with-pointer-key", 181 "level" : 0, 182 "categories" : ["containers", "performance"], 183 "visits_decls" : true 184 }, 185 { 186 "name" : "qstring-ref", 187 "class_name" : "StringRefCandidates", 188 "level" : 0, 189 "categories" : ["performance", "qstring"], 190 "fixits" : [ 191 { 192 "name" : "missing-qstringref" 193 } 194 ], 195 "visits_stmts" : true 196 }, 197 { 198 "name" : "strict-iterators", 199 "level" : 0, 200 "categories" : ["containers", "performance", "bug"], 201 "visits_stmts" : true 202 }, 203 { 204 "name" : "writing-to-temporary", 205 "level" : 0, 206 "categories" : ["bug"], 207 "options" : [ 208 { 209 "name" : "widen-criteria" 210 } 211 ], 212 "visits_stmts" : true 213 }, 214 { 215 "name" : "container-anti-pattern", 216 "level" : 0, 217 "categories" : ["containers", "performance"], 218 "visits_stmts" : true 219 }, 220 { 221 "name" : "qcolor-from-literal", 222 "level" : 0, 223 "categories" : ["performance"], 224 "visits_stmts" : true, 225 "ifndef" : "CLAZY_DISABLE_AST_MATCHERS" 226 }, 227 { 228 "name" : "qfileinfo-exists", 229 "class_name" : "QFileInfoExists", 230 "level" : 0, 231 "categories" : ["performance"], 232 "visits_stmts" : true 233 }, 234 { 235 "name" : "qstring-arg", 236 "level" : 0, 237 "categories" : ["performance", "qstring"], 238 "options" : [ 239 { 240 "name" : "fillChar-overloads" 241 } 242 ], 243 "visits_stmts" : true 244 }, 245 { 246 "name" : "empty-qstringliteral", 247 "level" : 0, 248 "categories" : ["performance"], 249 "visits_stmts" : true 250 }, 251 { 252 "name" : "qt-macros", 253 "class_name" : "QtMacros", 254 "level" : 0, 255 "categories" : ["bug"] 256 }, 257 { 258 "name" : "temporary-iterator", 259 "level" : 0, 260 "categories" : ["containers", "bug"], 261 "visits_stmts" : true 262 }, 263 { 264 "name" : "wrong-qglobalstatic", 265 "class_name" : "WrongQGlobalStatic", 266 "level" : 0, 267 "categories" : ["performance"], 268 "visits_stmts" : true 269 }, 270 { 271 "name" : "lowercase-qml-type-name", 272 "level" : 0, 273 "categories" : ["qml", "bug"], 274 "visits_stmts" : true 275 }, 276 { 277 "name" : "auto-unexpected-qstringbuilder", 278 "class_name" : "AutoUnexpectedQStringBuilder", 279 "level" : 1, 280 "categories" : ["bug", "qstring"], 281 "visits_decls" : true, 282 "visits_stmts" : true, 283 "fixits" : [ 284 { 285 "name" : "auto-unexpected-qstringbuilder" 286 } 287 ] 288 }, 289 { 290 "name" : "connect-3arg-lambda", 291 "level" : 1, 292 "categories" : ["bug"], 293 "visits_stmts" : true 294 }, 295 { 296 "name" : "const-signal-or-slot", 297 "level" : 1, 298 "categories" : ["readability", "bug"], 299 "visits_decls" : true, 300 "visits_stmts" : true 301 }, 302 { 303 "name" : "detaching-temporary", 304 "level" : 1, 305 "categories" : ["containers", "performance"], 306 "visits_stmts" : true 307 }, 308 { 309 "name" : "foreach", 310 "level" : 1, 311 "categories" : ["containers", "performance"], 312 "visits_stmts" : true 313 }, 314 { 315 "name" : "incorrect-emit", 316 "level" : 1, 317 "categories" : ["readability"], 318 "visits_stmts" : true 319 }, 320 { 321 "name" : "inefficient-qlist-soft", 322 "level" : 1, 323 "categories" : ["containers", "performance"], 324 "visits_decls" : true 325 }, 326 { 327 "name" : "install-event-filter", 328 "level" : 1, 329 "categories" : ["bug"], 330 "visits_stmts" : true 331 }, 332 { 333 "name" : "non-pod-global-static", 334 "level" : 1, 335 "categories" : ["performance"], 336 "visits_stmts" : true 337 }, 338 { 339 "name" : "post-event", 340 "level" : 1, 341 "categories" : ["bug"], 342 "visits_stmts" : true 343 }, 344 { 345 "name" : "qdeleteall", 346 "class_name" : "QDeleteAll", 347 "level" : 1, 348 "categories" : ["containers", "performance"], 349 "visits_stmts" : true 350 }, 351 { 352 "name" : "qlatin1string-non-ascii", 353 "level" : 1, 354 "categories" : ["bug", "qstring"], 355 "visits_stmts" : true 356 }, 357 { 358 "name" : "qproperty-without-notify", 359 "level" : 1, 360 "categories" : ["bug"], 361 "visits_stmts" : true 362 }, 363 { 364 "name" : "qstring-left", 365 "level" : 1, 366 "categories" : ["bug", "performance", "qstring"], 367 "visits_stmts" : true 368 }, 369 { 370 "name" : "range-loop", 371 "level" : 1, 372 "categories" : ["containers", "performance"], 373 "visits_stmts" : true, 374 "fixits" : [ 375 { 376 "name" : "range-loop-add-ref" 377 }, 378 { 379 "name" : "range-loop-add-qasconst" 380 } 381 ] 382 }, 383 { 384 "name" : "returning-data-from-temporary", 385 "level" : 1, 386 "categories" : ["bug"], 387 "visits_stmts" : true 388 }, 389 { 390 "name" : "rule-of-two-soft", 391 "level" : 1, 392 "categories" : ["cpp", "bug"], 393 "visits_stmts" : true 394 }, 395 { 396 "name" : "child-event-qobject-cast", 397 "level" : 1, 398 "categories" : ["bug"], 399 "visits_decls" : true 400 }, 401 { 402 "name" : "virtual-signal", 403 "level" : 1, 404 "categories" : ["bug", "readability"], 405 "visits_decls" : true 406 }, 407 { 408 "name" : "overridden-signal", 409 "level" : 1, 410 "categories" : ["bug", "readability"], 411 "visits_decls" : true 412 }, 413 { 414 "name" : "qhash-namespace", 415 "level" : 1, 416 "categories" : ["bug"], 417 "visits_decls" : true 418 }, 419 { 420 "name" : "skipped-base-method", 421 "level" : 1, 422 "categories" : ["bug", "cpp"], 423 "visits_stmts" : true 424 }, 425 { 426 "name" : "unneeded-cast", 427 "level" : 3, 428 "categories" : ["cpp", "readability"], 429 "options" : [ 430 { 431 "name" : "prefer-dynamic-cast-over-qobject" 432 } 433 ], 434 "visits_stmts" : true 435 }, 436 { 437 "name" : "ctor-missing-parent-argument", 438 "level" : 2, 439 "categories" : ["bug"], 440 "visits_decls" : true 441 }, 442 { 443 "name" : "base-class-event", 444 "level" : 2, 445 "categories" : ["bug"], 446 "visits_decls" : true 447 }, 448 { 449 "name" : "copyable-polymorphic", 450 "level" : 2, 451 "categories" : ["cpp", "bug"], 452 "visits_decls" : true 453 }, 454 { 455 "name" : "function-args-by-ref", 456 "level" : 2, 457 "categories" : ["cpp", "performance"], 458 "options" : [ 459 { 460 "name" : "warn-for-overridden-methods" 461 } 462 ], 463 "fixits" : [ 464 { 465 "name" : "function-args-by-ref" 466 } 467 ], 468 "visits_decls" : true, 469 "visits_stmts" : true 470 }, 471 { 472 "name" : "function-args-by-value", 473 "level" : 2, 474 "categories" : ["cpp", "performance"], 475 "options" : [ 476 { 477 "name" : "warn-for-overridden-methods" 478 } 479 ], 480 "visits_decls" : true, 481 "visits_stmts" : true 482 }, 483 { 484 "name" : "global-const-char-pointer", 485 "level" : 2, 486 "categories" : ["cpp", "performance"], 487 "visits_decls" : true 488 }, 489 { 490 "name" : "implicit-casts", 491 "level" : 2, 492 "categories" : ["cpp", "bug"], 493 "options" : [ 494 { 495 "name" : "bool-to-int" 496 } 497 ], 498 "visits_stmts" : true 499 }, 500 { 501 "name" : "missing-qobject-macro", 502 "level" : 2, 503 "categories" : ["bug"], 504 "visits_decls" : true 505 }, 506 { 507 "name" : "missing-typeinfo", 508 "class_name" : "MissingTypeInfo", 509 "level" : 2, 510 "categories" : ["containers", "performance"], 511 "visits_decls" : true 512 }, 513 { 514 "name" : "old-style-connect", 515 "level" : 2, 516 "minimum_qt_version" : 50500, 517 "ifndef" : "NO_STD_REGEX", 518 "categories" : ["performance"], 519 "fixits" : [ 520 { 521 "name" : "old-style-connect" 522 } 523 ], 524 "visits_stmts" : true 525 }, 526 { 527 "name" : "qstring-allocations", 528 "level" : 2, 529 "minimum_qt_version" : 50000, 530 "categories" : ["performance", "qstring"], 531 "fixits" : [ 532 { 533 "name" : "qlatin1string-allocations" 534 }, 535 { 536 "name" : "fromLatin1_fromUtf8-allocations" 537 }, 538 { 539 "name" : "fromCharPtrAllocations" 540 } 541 ], 542 "options" : [ 543 { 544 "name" : "no-msvc-compat" 545 } 546 ], 547 "visits_stmts" : true 548 }, 549 { 550 "name" : "returning-void-expression", 551 "level" : 2, 552 "categories" : ["readability", "cpp"], 553 "visits_stmts" : true 554 }, 555 { 556 "name" : "rule-of-three", 557 "level" : 2, 558 "categories" : ["cpp", "bug"], 559 "visits_decls" : true 560 }, 561 { 562 "name" : "virtual-call-ctor", 563 "level" : 2, 564 "categories" : ["cpp", "bug"], 565 "visits_decls" : true 566 }, 567 { 568 "name" : "static-pmf", 569 "level" : 2, 570 "categories" : ["bug"], 571 "visits_decls" : true 572 }, 573 { 574 "name" : "assert-with-side-effects", 575 "level" : 3, 576 "categories" : ["bug"], 577 "visits_stmts" : true 578 }, 579 { 580 "name" : "detaching-member", 581 "level" : 3, 582 "categories" : ["containers", "performance"], 583 "visits_stmts" : true 584 }, 585 { 586 "name" : "thread-with-slots", 587 "level" : 3, 588 "categories" : ["bug"], 589 "visits_decls" : true, 590 "visits_stmts" : true 591 }, 592 { 593 "name" : "reserve-candidates", 594 "level" : 3, 595 "categories" : ["containers"], 596 "visits_stmts" : true 597 } 598 ] 599} 600