1*a24ffb47SSadaf Ebrahimi<FindBugsFilter> 2*a24ffb47SSadaf Ebrahimi <Match> 3*a24ffb47SSadaf Ebrahimi <!-- Reason: Null has a different meaning than a zero-length array in this case. --> 4*a24ffb47SSadaf Ebrahimi <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/> 5*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.stats.MutableDistribution"/> 6*a24ffb47SSadaf Ebrahimi <Method name="getInternalBucketCountsArray"/> 7*a24ffb47SSadaf Ebrahimi </Match> 8*a24ffb47SSadaf Ebrahimi <Match> 9*a24ffb47SSadaf Ebrahimi <!-- Reason: Equal is implemented in the AutoValue generated class. --> 10*a24ffb47SSadaf Ebrahimi <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/> 11*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.common.Timestamp"/> 12*a24ffb47SSadaf Ebrahimi <Method name="compareTo"/> 13*a24ffb47SSadaf Ebrahimi </Match> 14*a24ffb47SSadaf Ebrahimi <Match> 15*a24ffb47SSadaf Ebrahimi <!-- Reason: Equal is implemented in the AutoValue generated class. --> 16*a24ffb47SSadaf Ebrahimi <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/> 17*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.common.Duration"/> 18*a24ffb47SSadaf Ebrahimi <Method name="compareTo"/> 19*a24ffb47SSadaf Ebrahimi </Match> 20*a24ffb47SSadaf Ebrahimi <Match> 21*a24ffb47SSadaf Ebrahimi <!-- Reason: BaseMessageEvent only has two visible subclasses. --> 22*a24ffb47SSadaf Ebrahimi <Bug pattern="BC_UNCONFIRMED_CAST"/> 23*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.trace.internal.BaseMessageEventUtils"/> 24*a24ffb47SSadaf Ebrahimi </Match> 25*a24ffb47SSadaf Ebrahimi <Match> 26*a24ffb47SSadaf Ebrahimi <!-- Reason: This test is testing for a NPE. --> 27*a24ffb47SSadaf Ebrahimi <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/> 28*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.internal.UtilsTest"/> 29*a24ffb47SSadaf Ebrahimi <Method name="checkNotNull"/> 30*a24ffb47SSadaf Ebrahimi </Match> 31*a24ffb47SSadaf Ebrahimi <Match> 32*a24ffb47SSadaf Ebrahimi <!-- Reason: This test is testing for a NPE. --> 33*a24ffb47SSadaf Ebrahimi <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/> 34*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.internal.UtilsTest"/> 35*a24ffb47SSadaf Ebrahimi <Method name="checkNotNull_NullErrorMessage"/> 36*a24ffb47SSadaf Ebrahimi </Match> 37*a24ffb47SSadaf Ebrahimi <Match> 38*a24ffb47SSadaf Ebrahimi <!-- Reason: It seems like FindBugs incorrectly assumes that all --> 39*a24ffb47SSadaf Ebrahimi <!-- Throwables are subclasses of Error or Exception. --> 40*a24ffb47SSadaf Ebrahimi <Bug pattern="BC_VACUOUS_INSTANCEOF"/> 41*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.trace.CurrentSpanUtils$CallableInSpan"/> 42*a24ffb47SSadaf Ebrahimi <Method name="call"/> 43*a24ffb47SSadaf Ebrahimi </Match> 44*a24ffb47SSadaf Ebrahimi <Match> 45*a24ffb47SSadaf Ebrahimi <!-- Reason: Protobuf auto-generated code. --> 46*a24ffb47SSadaf Ebrahimi <Bug pattern="UCF_USELESS_CONTROL_FLOW"/> 47*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.contrib.appengine.standard.util.TraceIdProto$Builder"/> 48*a24ffb47SSadaf Ebrahimi <Method name="maybeForceBuilderInitialization"/> 49*a24ffb47SSadaf Ebrahimi </Match> 50*a24ffb47SSadaf Ebrahimi <Match> 51*a24ffb47SSadaf Ebrahimi <!-- Reason: The synchronization in the setState is for the side effects not for the state. --> 52*a24ffb47SSadaf Ebrahimi <Bug pattern="UG_SYNC_SET_UNSYNC_GET"/> 53*a24ffb47SSadaf Ebrahimi <Class name="io.opencensus.implcore.stats.StatsComponentImplBase"/> 54*a24ffb47SSadaf Ebrahimi </Match> 55*a24ffb47SSadaf Ebrahimi 56*a24ffb47SSadaf Ebrahimi <!-- Suppress some FindBugs warnings related to performance or robustness --> 57*a24ffb47SSadaf Ebrahimi <!-- in test classes, where those issues are less important. --> 58*a24ffb47SSadaf Ebrahimi <Match> 59*a24ffb47SSadaf Ebrahimi <!-- Reason: Only needed for performance. --> 60*a24ffb47SSadaf Ebrahimi <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/> 61*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 62*a24ffb47SSadaf Ebrahimi </Match> 63*a24ffb47SSadaf Ebrahimi <Match> 64*a24ffb47SSadaf Ebrahimi <!-- Reason: Only needed for performance. --> 65*a24ffb47SSadaf Ebrahimi <Bug pattern="WMI_WRONG_MAP_ITERATOR"/> 66*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 67*a24ffb47SSadaf Ebrahimi </Match> 68*a24ffb47SSadaf Ebrahimi <Match> 69*a24ffb47SSadaf Ebrahimi <!-- Reason: Only needed for performance. --> 70*a24ffb47SSadaf Ebrahimi <Bug pattern="UM_UNNECESSARY_MATH"/> 71*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 72*a24ffb47SSadaf Ebrahimi </Match> 73*a24ffb47SSadaf Ebrahimi <Match> 74*a24ffb47SSadaf Ebrahimi <!-- Reason: This is less important in a test environment. --> 75*a24ffb47SSadaf Ebrahimi <Bug pattern="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED"/> 76*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 77*a24ffb47SSadaf Ebrahimi </Match> 78*a24ffb47SSadaf Ebrahimi <Match> 79*a24ffb47SSadaf Ebrahimi <!-- Reason: Many classes initialize fields in @Before methods. --> 80*a24ffb47SSadaf Ebrahimi <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/> 81*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 82*a24ffb47SSadaf Ebrahimi </Match> 83*a24ffb47SSadaf Ebrahimi 84*a24ffb47SSadaf Ebrahimi <!-- Suppress all FindBugs warnings about NullPointerExceptions in --> 85*a24ffb47SSadaf Ebrahimi <!-- non-test code. They are redundant with the Checker Framework's --> 86*a24ffb47SSadaf Ebrahimi <!-- warnings, and they sometimes conflict. These warnings are still --> 87*a24ffb47SSadaf Ebrahimi <!-- useful in test code, where we don't use the Checker Framework. --> 88*a24ffb47SSadaf Ebrahimi <Match> 89*a24ffb47SSadaf Ebrahimi <Bug code="NP"/> 90*a24ffb47SSadaf Ebrahimi <Not> 91*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 92*a24ffb47SSadaf Ebrahimi </Not> 93*a24ffb47SSadaf Ebrahimi </Match> 94*a24ffb47SSadaf Ebrahimi <Match> 95*a24ffb47SSadaf Ebrahimi <Bug pattern="UR_UNINIT_READ"/> 96*a24ffb47SSadaf Ebrahimi <Not> 97*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 98*a24ffb47SSadaf Ebrahimi </Not> 99*a24ffb47SSadaf Ebrahimi </Match> 100*a24ffb47SSadaf Ebrahimi <Match> 101*a24ffb47SSadaf Ebrahimi <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/> 102*a24ffb47SSadaf Ebrahimi <Not> 103*a24ffb47SSadaf Ebrahimi <Source name="~.*Test\.java"/> 104*a24ffb47SSadaf Ebrahimi </Not> 105*a24ffb47SSadaf Ebrahimi </Match> 106*a24ffb47SSadaf Ebrahimi</FindBugsFilter> 107