<?xml version="1.0"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE suppressions PUBLIC
        "-//Puppy Crawl//DTD Suppressions 1.1//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<!-- http://checkstyle.sourceforge.net/config.html#SuppressionFilter -->
<suppressions>

   <!-- Suppress unfixable violations in JavaCC generated sources -->
   <suppress checks="Indentation|Whitespace|Curly|Modifier|AvoidStarImport|EmptyStatement|ArrayTypeStyle|RegexpSingleline" files="[\\/]generated-sources[\\/]javacc[\\/]"/>

</suppressions>
