mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
155 lines
5.6 KiB
INI
155 lines
5.6 KiB
INI
; Configure which static analysis checks are enabled
|
|
[analysis.config.StaticAnalysisConfig]
|
|
; Check variable, class, struct, interface, union, and function names against
|
|
; the Phobos style guide
|
|
style_check="disabled"
|
|
; Check for array literals that cause unnecessary allocation
|
|
enum_array_literal_check="enabled"
|
|
; Check for poor exception handling practices
|
|
exception_check="enabled"
|
|
; Check for use of the deprecated 'delete' keyword
|
|
delete_check="enabled"
|
|
; Check for use of the deprecated floating point operators
|
|
float_operator_check="enabled"
|
|
; Check underscores to improve number constant readability
|
|
number_style_check="enabled"
|
|
; Checks that opEquals, opCmp, toHash, and toString are either const, immutable
|
|
; , or inout.
|
|
object_const_check="enabled"
|
|
; Checks for .. expressions where the left side is larger than the right.
|
|
backwards_range_check="enabled"
|
|
; Checks for if statements whose 'then' block is the same as the 'else' block
|
|
if_else_same_check="enabled"
|
|
; Checks for some problems with constructors
|
|
constructor_check="enabled"
|
|
; Checks for unused function parameters
|
|
unused_parameter_check="disabled"
|
|
; Checks for unused variables
|
|
unused_variable_check="enabled"
|
|
; Checks for unused labels
|
|
unused_label_check="enabled"
|
|
; Checks for duplicate attributes
|
|
duplicate_attribute="enabled"
|
|
; Checks that opEquals and toHash are both defined or neither are defined
|
|
opequals_tohash_check="disabled"
|
|
; Checks for subtraction from .length properties
|
|
length_subtraction_check="disabled"
|
|
; Checks for methods or properties whose names conflict with built-in propertie
|
|
; s
|
|
builtin_property_names_check="enabled"
|
|
; Checks for confusing code in inline asm statements
|
|
asm_style_check="enabled"
|
|
; Checks for confusing logical operator precedence
|
|
logical_precedence_check="disabled"
|
|
; Checks for undocumented public declarations
|
|
undocumented_declaration_check="disabled"
|
|
; Checks for poor placement of function attributes
|
|
function_attribute_check="enabled"
|
|
; Checks for use of the comma operator
|
|
comma_expression_check="enabled"
|
|
; Checks for local imports that are too broad
|
|
local_import_check="disabled"
|
|
; Checks for variables that could be declared immutable
|
|
could_be_immutable_check="disabled"
|
|
; Checks for redundant expressions in if statements
|
|
redundant_if_check="enabled"
|
|
; Checks for redundant parenthesis
|
|
redundant_parens_check="disabled"
|
|
; Checks for mismatched argument and parameter names
|
|
mismatched_args_check="disabled"
|
|
; Checks for labels with the same name as variables
|
|
label_var_same_name_check="disabled"
|
|
; Checks for lines longer than 120 characters
|
|
long_line_check="disabled"
|
|
; Checks for assignment to auto-ref function parameters
|
|
auto_ref_assignment_check="disabled"
|
|
; Checks for incorrect infinite range definitions
|
|
incorrect_infinite_range_check="enabled"
|
|
; Checks for asserts that are always true
|
|
useless_assert_check="enabled"
|
|
; Check for uses of the old-style alias syntax
|
|
alias_syntax_check="enabled"
|
|
; Checks for else if that should be else static if
|
|
static_if_else_check="enabled"
|
|
; Check for unclear lambda syntax
|
|
lambda_return_check="enabled"
|
|
; Check for auto function without return statement
|
|
auto_function_check="enabled"
|
|
; Check for sortedness of imports
|
|
imports_sortedness="disabled"
|
|
; Check for explicitly annotated unittests
|
|
explicitly_annotated_unittests="disabled"
|
|
; Check for properly documented public functions (Returns, Params)
|
|
properly_documented_public_functions="disabled"
|
|
; Check for useless usage of the final attribute
|
|
final_attribute_check="enabled"
|
|
; Check for virtual calls in the class constructors
|
|
vcall_in_ctor="enabled"
|
|
; Check for useless user defined initializers
|
|
useless_initializer="disabled"
|
|
; Check allman brace style
|
|
allman_braces_check="disabled"
|
|
; Check for redundant attributes
|
|
redundant_attributes_check="disabled"
|
|
; Check for public declarations without a documented unittest
|
|
has_public_example="disabled"
|
|
; Check for asserts without an explanatory message
|
|
assert_without_msg="disabled"
|
|
; Check indent of if constraints
|
|
if_constraints_indent="enabled"
|
|
; Check for @trusted applied to a bigger scope than a single function
|
|
trust_too_much="disabled"
|
|
; Check for redundant storage classes on variable declarations")
|
|
redundant_storage_classes="enabled"
|
|
; Check for unused function return values
|
|
unused_result="disabled"
|
|
|
|
; Configure which modules are checked with a specific checker
|
|
; Please help to extend these checks onto more Phobos modules
|
|
; Process:
|
|
; - Pick your favorite check
|
|
; - Remove a module from the blacklist
|
|
; - Run DScanner
|
|
; - Fix the warnings
|
|
; - Submit a PR to DMD
|
|
; - GOTO: Remove a module
|
|
;
|
|
; Some checks are currently disabled.
|
|
[analysis.config.ModuleFilters]
|
|
trust_too_much="-dmd.root.longdouble"
|
|
builtin_property_names_check="-dmd.backend.obj,-dmd.backend.code,-dmd.backend.cc"
|
|
object_const_check="-dmd.dtemplate"
|
|
enum_array_literal_check="-dmd.astbase,-dmd.backend.oper,-dmd.backend.oper,-dmd.backend.var,-dmd.tokens,-dmd.expression"
|
|
unused_variable_check="-dmd.backend.aarray,\
|
|
-dmd.backend.blockopt,\
|
|
-dmd.backend.cg,\
|
|
-dmd.backend.x86.cg87,\
|
|
-dmd.backend.cgelem,\
|
|
-dmd.backend.cgsched,\
|
|
-dmd.backend.arm.cod1,\
|
|
-dmd.backend.arm.cod2,\
|
|
-dmd.backend.arm.cod3,\
|
|
-dmd.backend.arm.disasmarm,\
|
|
-dmd.backend.arm.instr,\
|
|
-dmd.backend.x86.cgxmm,\
|
|
-dmd.backend.x86.cod1,\
|
|
-dmd.backend.x86.cod2,\
|
|
-dmd.backend.x86.cod3,\
|
|
-dmd.backend.x86.disasm86,\
|
|
-dmd.backend.dcgcv,\
|
|
-dmd.backend.dout,\
|
|
-dmd.backend.dwarfdbginf,\
|
|
-dmd.backend.elfobj,\
|
|
-dmd.backend.elpicpie,\
|
|
-dmd.backend.gother,\
|
|
-dmd.backend.gsroa,\
|
|
-dmd.backend.machobj,\
|
|
-dmd.backend.mscoffobj,\
|
|
-dmd.backend.symbol,\
|
|
-dmd.expressionsem,\
|
|
-dmd.dsymbolsem,\
|
|
-dmd.dtemplate,\
|
|
-dmd.dump,\
|
|
-dmd.mars,\
|
|
-dmd.root.longdouble"
|
|
number_style_check="-dmd.common.md5"
|