# Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
#
# Google internally enforced rules. See README.md for more information,
# including a list of lints that are intentionally _not_ enforced.

linter:
  rules:
    - avoid_empty_else
    - avoid_relative_lib_imports
    - avoid_return_types_on_setters
    - avoid_types_as_parameter_names
    - control_flow_in_finally
    - no_duplicate_case_values
    - prefer_contains
    - prefer_equal_for_default_values
    - prefer_is_not_empty
    - recursive_getters
    - throw_in_finally
    - unrelated_type_equality_checks
    - use_rethrow_when_possible
    - valid_regexps
