// Copyright (c) 2019, 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.

/// An enumeration of lint names.
class LintNames {
  static const String always_declare_return_types =
      'always_declare_return_types';
  static const String always_require_non_null_named_parameters =
      'always_require_non_null_named_parameters';
  static const String always_specify_types = 'always_specify_types';
  static const String annotate_overrides = 'annotate_overrides';
  static const String avoid_annotating_with_dynamic =
      'avoid_annotating_with_dynamic';
  static const String avoid_empty_else = 'avoid_empty_else';
  static const String avoid_init_to_null = 'avoid_init_to_null';
  static const String avoid_private_typedef_functions =
      'avoid_private_typedef_functions';
  static const String avoid_redundant_argument_values =
      'avoid_redundant_argument_values';
  static const String avoid_relative_lib_imports = 'avoid_relative_lib_imports';
  static const String avoid_return_types_on_setters =
      'avoid_return_types_on_setters';
  static const String avoid_returning_null_for_future =
      'avoid_returning_null_for_future';
  static const String avoid_single_cascade_in_expression_statements =
      'avoid_single_cascade_in_expression_statements';
  static const String avoid_types_as_parameter_names =
      'avoid_types_as_parameter_names';
  static const String avoid_types_on_closure_parameters =
      'avoid_types_on_closure_parameters';
  static const String avoid_unused_constructor_parameters =
      'avoid_unused_constructor_parameters';
  static const String await_only_futures = 'await_only_futures';
  static const String curly_braces_in_flow_control_structures =
      'curly_braces_in_flow_control_structures';
  static const String diagnostic_describe_all_properties =
      'diagnostic_describe_all_properties';
  static const String directives_ordering = 'directives_ordering';
  static const String empty_catches = 'empty_catches';
  static const String empty_constructor_bodies = 'empty_constructor_bodies';
  static const String empty_statements = 'empty_statements';
  static const String hash_and_equals = 'hash_and_equals';
  static const String no_duplicate_case_values = 'no_duplicate_case_values';
  static const String non_constant_identifier_names =
      'non_constant_identifier_names';
  static const String null_closures = 'null_closures';
  static const String omit_local_variable_types = 'omit_local_variable_types';
  static const String prefer_adjacent_string_concatenation =
      'prefer_adjacent_string_concatenation';
  static const String prefer_collection_literals = 'prefer_collection_literals';
  static const String prefer_conditional_assignment =
      'prefer_conditional_assignment';
  static const String prefer_const_constructors = 'prefer_const_constructors';
  static const String prefer_const_constructors_in_immutables =
      'prefer_const_constructors_in_immutables';
  static const String prefer_const_declarations = 'prefer_const_declarations';
  static const String prefer_contains = 'prefer_contains';
  static const String prefer_equal_for_default_values =
      'prefer_equal_for_default_values';
  static const String prefer_expression_function_bodies =
      'prefer_expression_function_bodies';
  static const String prefer_final_fields = 'prefer_final_fields';
  static const String prefer_final_in_for_each = 'prefer_final_in_for_each';
  static const String prefer_final_locals = 'prefer_final_locals';
  static const String prefer_for_elements_to_map_fromIterable =
      'prefer_for_elements_to_map_fromIterable';
  static const String prefer_generic_function_type_aliases =
      'prefer_generic_function_type_aliases';
  static const String prefer_if_elements_to_conditional_expressions =
      'prefer_if_elements_to_conditional_expressions';
  static const String prefer_if_null_operators = 'prefer_if_null_operators';
  static const String prefer_inlined_adds = 'prefer_inlined_adds';
  static const String prefer_int_literals = 'prefer_int_literals';
  static const String prefer_interpolation_to_compose_strings =
      'prefer_interpolation_to_compose_strings';
  static const String prefer_is_empty = 'prefer_is_empty';
  static const String prefer_is_not_empty = 'prefer_is_not_empty';
  static const String prefer_iterable_whereType = 'prefer_iterable_whereType';
  static const String prefer_null_aware_operators =
      'prefer_null_aware_operators';
  static const String prefer_relative_imports = 'prefer_relative_imports';
  static const String prefer_single_quotes = 'prefer_single_quotes';
  static const String prefer_spread_collections = 'prefer_spread_collections';
  static const String slash_for_doc_comments = 'slash_for_doc_comments';
  static const String sort_child_properties_last = 'sort_child_properties_last';
  static const String type_annotate_public_apis = 'type_annotate_public_apis';
  static const String type_init_formals = 'type_init_formals';
  static const String unawaited_futures = 'unawaited_futures';
  static const String unnecessary_brace_in_string_interps =
      'unnecessary_brace_in_string_interps';
  static const String unnecessary_const = 'unnecessary_const';
  static const String unnecessary_lambdas = 'unnecessary_lambdas';
  static const String unnecessary_new = 'unnecessary_new';
  static const String unnecessary_null_in_if_null_operators =
      'unnecessary_null_in_if_null_operators';
  static const String unnecessary_overrides = 'unnecessary_overrides';
  static const String unnecessary_parenthesis = 'unnecessary_parenthesis';
  static const String unnecessary_this = 'unnecessary_this';
  static const String use_full_hex_values_for_flutter_colors =
      'use_full_hex_values_for_flutter_colors';
  static const String use_function_type_syntax_for_parameters =
      'use_function_type_syntax_for_parameters';
  static const String use_rethrow_when_possible = 'use_rethrow_when_possible';
}
