<!--

    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<FindBugsFilter>

    <Match>
        <Or>
            <!-- Performance -->
            <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ"/>
            <Bug pattern="ES_COMPARING_PARAMETER_STRING_WITH_EQ"/>

            <!-- 3rd party code -->
            <Bug pattern="NM_METHOD_NAMING_CONVENTION"/>
            <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
            <Bug pattern="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE"/>
            <Bug pattern="BC_UNCONFIRMED_CAST"/>

        </Or>
    </Match>

    <!-- Generated -->
    <Match>
        <Or>
            <Class name="com.sun.tools.rngom.parse.compact.CompactSyntaxTokenManager"/>
            <Class name="com.sun.tools.rngom.parse.compact.CompactSyntaxConstants"/>
            <Class name="com.sun.tools.rngom.parse.compact.CompactSyntax"/>
            <Class name="com.sun.tools.rngom.parse.compact.ParseException"/>
            <Class name="com.sun.tools.rngom.parse.compact.TokenMgrError"/>
            <Class name="com.sun.tools.rngom.parse.compact.JavaCharStream"/>
            <Class name="com.sun.tools.rngom.parse.compact.UCode_UCodeESC_CharStream"/>
        </Or>
    </Match>

    <!-- Supposed to be used elsewhere -->
    <Match>
        <Bug pattern="URF_UNREAD_FIELD"/>
        <Class name="com.sun.tools.rngom.digested.DPattern"/>
    </Match>

    <!-- Potentially allowed to be subclassed or instantiated -->
    <Match>
        <Or>
            <Class name="com.sun.tools.rngom.digested.DXMLPrinter$XMLWriterException"/>
            <Class name="com.sun.tools.rngom.digested.DDataPattern$Param"/>
        </Or>
        <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
    </Match>

</FindBugsFilter>
