aboutsummaryrefslogtreecommitdiff
path: root/config/findbugs-exclude.xml
blob: 33b278b1909b24c16eeab76f45030bb700c379ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
    <Match>
      <!-- That code is auto generated -->
      <Package name="~com\.puppycrawl\.tools\.checkstyle\.grammars.*" />
    </Match>
    <Match>
      <!-- We are not aware of encoding of files that user has, so using user encoding is ok -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.LineSeparatorOption" />
      <Bug pattern="DM_DEFAULT_ENCODING" />
    </Match>
    <Match>
      <!-- see a reason of suppression at #910 -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.UniquePropertiesCheck$UniqueProperties" />
      <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
    </Match>
    <Match>
      <!-- false-positive, as Map will return null if key is not found -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.indentation.LineWrappingHandler" />
      <Method name="collectFirstNodes" />
      <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
    </Match>
    <Match>
      <!-- it is ok here, as business meaning of that cases is not the same, it is occasional similarity -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck" />
      <Method name="visitToken" />
      <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES" />
    </Match>
    <Match>
      <!-- false positive, condition elements are not the same -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.indentation.LineWrappingHandler" />
      <Method name="collectFirstNodes" />
      <Bug pattern="RpC_REPEATED_CONDITIONAL_TEST" />
    </Match>
    <Match>
      <!-- false positive, "preceded" is returned from method as result -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck" />
      <Method name="getPreceded" />
      <Bug pattern="DLS_DEAD_LOCAL_STORE" />
    </Match>
    <Match>
      <!-- till #922 -->
      <Class name="com.puppycrawl.tools.checkstyle.Checker" />
      <Method name="setClassloader" />
      <Bug pattern="NM_CONFUSING" />
    </Match>
    <Match>
      <!-- that CLI class so we need system exit code there, but only in main(...) method -->
      <Class name="com.puppycrawl.tools.checkstyle.Main" />
      <Method name="main" />
      <Bug pattern="DM_EXIT" />
    </Match>
    <Match>
      <!-- have never been a case for years, Eclipse does not show any other classes inherited from CommonASTWithHiddenTokens -->
      <Class name="com.puppycrawl.tools.checkstyle.api.DetailAST" />
      <Bug pattern="BC_UNCONFIRMED_CAST" />
    </Match>
    <Match>
      <!-- The structure of frames relies on the AST structure which relies on correct/compilable
        java files. It is ok to have direct casts to subtypes there. Any problems at runtime do
        mean serious problems in the algorithm or AST generation. -->
      <Class name="com.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck"/>
      <Or>
        <Bug pattern="BC_UNCONFIRMED_CAST"/>
        <Bug pattern="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE"/>
      </Or>
    </Match>
    <Match>
      <!-- till SonarQube update Checkstyle version. Support both getFileName() and getFilename() -->
      <and>
        <Class name="com.puppycrawl.tools.checkstyle.api.FileContents" />
        <Method name="~setFile[nN]ame" />
      </and>
      <Bug pattern="NM_CONFUSING" />
    </Match>
    <Match>
      <!-- false positive, beginTree is a kind of constructor for Checks -->
      <Or>
        <Class name="com.puppycrawl.tools.checkstyle.checks.AbstractDeclarationCollector" />
        <Class name="com.puppycrawl.tools.checkstyle.checks.AvoidEscapedUnicodeCharactersCheck" />
        <Class name="com.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck" />
        <Class name="com.puppycrawl.tools.checkstyle.checks.coding.DeclarationOrderCheck" />
        <Class name="com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheck" />
        <Class name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpCheck" />
        <!-- createJavadocNode is private and can not be launched without visitToken-->
        <Class name="com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck" />
        <!-- has only one public method and all initialized in that method-->
        <Class name="com.puppycrawl.tools.checkstyle.checks.regexp.MultilineDetector" />
        <!-- beginProcessing() is kind of c-tor -->
        <Class name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpMultilineCheck" />
        <Class name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineCheck" />
        <!--Uses setters to set fields values-->
        <Class name="com.puppycrawl.tools.checkstyle.api.AbstractCheck" />
      </Or>
      <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" />
    </Match>
    <Match>
        <!--
         False-positive. ExtedrnalResource cannot be null there.
         FindBugs rise violation due to @Nullable annotation on 'apply' method.
         See https://stevewall123.wordpress.com/2014/12/18/findbugs-warning-with-guavas-predicate-interface/
         See http://stackoverflow.com/questions/12422473/nullable-input-in-google-guava-function-interface-triggers-findbugs-warning
         -->
        <Class name="com.puppycrawl.tools.checkstyle.PropertyCacheFile$1" />
        <Method name="apply" />
        <Bug pattern="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE" />
    </Match>
    <Match>
        <!-- Temporary disabled. Have to deal with Javadoc nodes as well
         See https://github.com/checkstyle/checkstyle/issues/3432-->
        <Class name="com.puppycrawl.tools.checkstyle.gui.JTreeTable" />
        <Method name="makeCodeSelection"/>
        <Bug pattern="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT"/>
    </Match>
    <Match>
        <!-- Until https://github.com/checkstyle/checkstyle/issues/3573 -->
        <Class name="com.puppycrawl.tools.checkstyle.checks.FileContentsHolder" />
        <Method name="beginTree"/>
        <Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/>
    </Match>
</FindBugsFilter>