| // Copyright (c) 2015, 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. |
| |
| import 'analyzer.dart'; |
| import 'rules/always_declare_return_types.dart'; |
| import 'rules/always_put_control_body_on_new_line.dart'; |
| import 'rules/always_put_required_named_parameters_first.dart'; |
| import 'rules/always_require_non_null_named_parameters.dart'; |
| import 'rules/always_specify_types.dart'; |
| import 'rules/always_use_package_imports.dart'; |
| import 'rules/annotate_overrides.dart'; |
| import 'rules/avoid_annotating_with_dynamic.dart'; |
| import 'rules/avoid_as.dart'; |
| import 'rules/avoid_bool_literals_in_conditional_expressions.dart'; |
| import 'rules/avoid_catches_without_on_clauses.dart'; |
| import 'rules/avoid_catching_errors.dart'; |
| import 'rules/avoid_classes_with_only_static_members.dart'; |
| import 'rules/avoid_double_and_int_checks.dart'; |
| import 'rules/avoid_dynamic_calls.dart'; |
| import 'rules/avoid_empty_else.dart'; |
| import 'rules/avoid_equals_and_hash_code_on_mutable_classes.dart'; |
| import 'rules/avoid_escaping_inner_quotes.dart'; |
| import 'rules/avoid_field_initializers_in_const_classes.dart'; |
| import 'rules/avoid_final_parameters.dart'; |
| import 'rules/avoid_function_literals_in_foreach_calls.dart'; |
| import 'rules/avoid_implementing_value_types.dart'; |
| import 'rules/avoid_init_to_null.dart'; |
| import 'rules/avoid_js_rounded_ints.dart'; |
| import 'rules/avoid_multiple_declarations_per_line.dart'; |
| import 'rules/avoid_null_checks_in_equality_operators.dart'; |
| import 'rules/avoid_positional_boolean_parameters.dart'; |
| import 'rules/avoid_print.dart'; |
| import 'rules/avoid_private_typedef_functions.dart'; |
| import 'rules/avoid_redundant_argument_values.dart'; |
| import 'rules/avoid_relative_lib_imports.dart'; |
| import 'rules/avoid_renaming_method_parameters.dart'; |
| import 'rules/avoid_return_types_on_setters.dart'; |
| import 'rules/avoid_returning_null.dart'; |
| import 'rules/avoid_returning_null_for_future.dart'; |
| import 'rules/avoid_returning_null_for_void.dart'; |
| import 'rules/avoid_returning_this.dart'; |
| import 'rules/avoid_setters_without_getters.dart'; |
| import 'rules/avoid_shadowing_type_parameters.dart'; |
| import 'rules/avoid_single_cascade_in_expression_statements.dart'; |
| import 'rules/avoid_slow_async_io.dart'; |
| import 'rules/avoid_type_to_string.dart'; |
| import 'rules/avoid_types_as_parameter_names.dart'; |
| import 'rules/avoid_types_on_closure_parameters.dart'; |
| import 'rules/avoid_unnecessary_containers.dart'; |
| import 'rules/avoid_unused_constructor_parameters.dart'; |
| import 'rules/avoid_void_async.dart'; |
| import 'rules/avoid_web_libraries_in_flutter.dart'; |
| import 'rules/await_only_futures.dart'; |
| import 'rules/camel_case_extensions.dart'; |
| import 'rules/camel_case_types.dart'; |
| import 'rules/cancel_subscriptions.dart'; |
| import 'rules/cascade_invocations.dart'; |
| import 'rules/cast_nullable_to_non_nullable.dart'; |
| import 'rules/close_sinks.dart'; |
| import 'rules/combinators_ordering.dart'; |
| import 'rules/comment_references.dart'; |
| import 'rules/conditional_uri_does_not_exist.dart'; |
| import 'rules/constant_identifier_names.dart'; |
| import 'rules/control_flow_in_finally.dart'; |
| import 'rules/curly_braces_in_flow_control_structures.dart'; |
| import 'rules/depend_on_referenced_packages.dart'; |
| import 'rules/deprecated_consistency.dart'; |
| import 'rules/diagnostic_describe_all_properties.dart'; |
| import 'rules/directives_ordering.dart'; |
| import 'rules/discarded_futures.dart'; |
| import 'rules/do_not_use_environment.dart'; |
| import 'rules/empty_catches.dart'; |
| import 'rules/empty_constructor_bodies.dart'; |
| import 'rules/empty_statements.dart'; |
| import 'rules/eol_at_end_of_file.dart'; |
| import 'rules/exhaustive_cases.dart'; |
| import 'rules/file_names.dart'; |
| import 'rules/flutter_style_todos.dart'; |
| import 'rules/hash_and_equals.dart'; |
| import 'rules/implementation_imports.dart'; |
| import 'rules/invariant_booleans.dart'; |
| import 'rules/iterable_contains_unrelated_type.dart'; |
| import 'rules/join_return_with_assignment.dart'; |
| import 'rules/leading_newlines_in_multiline_strings.dart'; |
| import 'rules/library_names.dart'; |
| import 'rules/library_prefixes.dart'; |
| import 'rules/library_private_types_in_public_api.dart'; |
| import 'rules/lines_longer_than_80_chars.dart'; |
| import 'rules/list_remove_unrelated_type.dart'; |
| import 'rules/literal_only_boolean_expressions.dart'; |
| import 'rules/missing_whitespace_between_adjacent_strings.dart'; |
| import 'rules/no_adjacent_strings_in_list.dart'; |
| import 'rules/no_default_cases.dart'; |
| import 'rules/no_duplicate_case_values.dart'; |
| import 'rules/no_leading_underscores_for_library_prefixes.dart'; |
| import 'rules/no_leading_underscores_for_local_identifiers.dart'; |
| import 'rules/no_logic_in_create_state.dart'; |
| import 'rules/no_runtimeType_toString.dart'; |
| import 'rules/non_constant_identifier_names.dart'; |
| import 'rules/noop_primitive_operations.dart'; |
| import 'rules/null_check_on_nullable_type_parameter.dart'; |
| import 'rules/null_closures.dart'; |
| import 'rules/omit_local_variable_types.dart'; |
| import 'rules/one_member_abstracts.dart'; |
| import 'rules/only_throw_errors.dart'; |
| import 'rules/overridden_fields.dart'; |
| import 'rules/package_api_docs.dart'; |
| import 'rules/package_prefixed_library_names.dart'; |
| import 'rules/parameter_assignments.dart'; |
| import 'rules/prefer_adjacent_string_concatenation.dart'; |
| import 'rules/prefer_asserts_in_initializer_lists.dart'; |
| import 'rules/prefer_asserts_with_message.dart'; |
| import 'rules/prefer_bool_in_asserts.dart'; |
| import 'rules/prefer_collection_literals.dart'; |
| import 'rules/prefer_conditional_assignment.dart'; |
| import 'rules/prefer_const_constructors.dart'; |
| import 'rules/prefer_const_constructors_in_immutables.dart'; |
| import 'rules/prefer_const_declarations.dart'; |
| import 'rules/prefer_const_literals_to_create_immutables.dart'; |
| import 'rules/prefer_constructors_over_static_methods.dart'; |
| import 'rules/prefer_contains.dart'; |
| import 'rules/prefer_double_quotes.dart'; |
| import 'rules/prefer_equal_for_default_values.dart'; |
| import 'rules/prefer_expression_function_bodies.dart'; |
| import 'rules/prefer_final_fields.dart'; |
| import 'rules/prefer_final_in_for_each.dart'; |
| import 'rules/prefer_final_locals.dart'; |
| import 'rules/prefer_final_parameters.dart'; |
| import 'rules/prefer_for_elements_to_map_fromIterable.dart'; |
| import 'rules/prefer_foreach.dart'; |
| import 'rules/prefer_function_declarations_over_variables.dart'; |
| import 'rules/prefer_generic_function_type_aliases.dart'; |
| import 'rules/prefer_if_elements_to_conditional_expressions.dart'; |
| import 'rules/prefer_if_null_operators.dart'; |
| import 'rules/prefer_initializing_formals.dart'; |
| import 'rules/prefer_inlined_adds.dart'; |
| import 'rules/prefer_int_literals.dart'; |
| import 'rules/prefer_interpolation_to_compose_strings.dart'; |
| import 'rules/prefer_is_empty.dart'; |
| import 'rules/prefer_is_not_empty.dart'; |
| import 'rules/prefer_is_not_operator.dart'; |
| import 'rules/prefer_iterable_whereType.dart'; |
| import 'rules/prefer_mixin.dart'; |
| import 'rules/prefer_null_aware_method_calls.dart'; |
| import 'rules/prefer_null_aware_operators.dart'; |
| import 'rules/prefer_relative_imports.dart'; |
| import 'rules/prefer_single_quotes.dart'; |
| import 'rules/prefer_spread_collections.dart'; |
| import 'rules/prefer_typing_uninitialized_variables.dart'; |
| import 'rules/prefer_void_to_null.dart'; |
| import 'rules/provide_deprecation_message.dart'; |
| import 'rules/pub/package_names.dart'; |
| import 'rules/pub/secure_pubspec_urls.dart'; |
| import 'rules/pub/sort_pub_dependencies.dart'; |
| import 'rules/public_member_api_docs.dart'; |
| import 'rules/recursive_getters.dart'; |
| import 'rules/require_trailing_commas.dart'; |
| import 'rules/sized_box_for_whitespace.dart'; |
| import 'rules/sized_box_shrink_expand.dart'; |
| import 'rules/slash_for_doc_comments.dart'; |
| import 'rules/sort_child_properties_last.dart'; |
| import 'rules/sort_constructors_first.dart'; |
| import 'rules/sort_unnamed_constructors_first.dart'; |
| import 'rules/super_goes_last.dart'; |
| import 'rules/test_types_in_equals.dart'; |
| import 'rules/throw_in_finally.dart'; |
| import 'rules/tighten_type_of_initializing_formals.dart'; |
| import 'rules/type_annotate_public_apis.dart'; |
| import 'rules/type_init_formals.dart'; |
| import 'rules/unawaited_futures.dart'; |
| import 'rules/unnecessary_await_in_return.dart'; |
| import 'rules/unnecessary_brace_in_string_interps.dart'; |
| import 'rules/unnecessary_const.dart'; |
| import 'rules/unnecessary_constructor_name.dart'; |
| import 'rules/unnecessary_final.dart'; |
| import 'rules/unnecessary_getters_setters.dart'; |
| import 'rules/unnecessary_lambdas.dart'; |
| import 'rules/unnecessary_late.dart'; |
| import 'rules/unnecessary_new.dart'; |
| import 'rules/unnecessary_null_aware_assignments.dart'; |
| import 'rules/unnecessary_null_aware_operator_on_extension_on_nullable.dart'; |
| import 'rules/unnecessary_null_checks.dart'; |
| import 'rules/unnecessary_null_in_if_null_operators.dart'; |
| import 'rules/unnecessary_nullable_for_final_variable_declarations.dart'; |
| import 'rules/unnecessary_overrides.dart'; |
| import 'rules/unnecessary_parenthesis.dart'; |
| import 'rules/unnecessary_raw_strings.dart'; |
| import 'rules/unnecessary_statements.dart'; |
| import 'rules/unnecessary_string_escapes.dart'; |
| import 'rules/unnecessary_string_interpolations.dart'; |
| import 'rules/unnecessary_this.dart'; |
| import 'rules/unnecessary_to_list_in_spreads.dart'; |
| import 'rules/unreachable_from_main.dart'; |
| import 'rules/unrelated_type_equality_checks.dart'; |
| import 'rules/unsafe_html.dart'; |
| import 'rules/use_build_context_synchronously.dart'; |
| import 'rules/use_colored_box.dart'; |
| import 'rules/use_decorated_box.dart'; |
| import 'rules/use_enums.dart'; |
| import 'rules/use_full_hex_values_for_flutter_colors.dart'; |
| import 'rules/use_function_type_syntax_for_parameters.dart'; |
| import 'rules/use_if_null_to_convert_nulls_to_bools.dart'; |
| import 'rules/use_is_even_rather_than_modulo.dart'; |
| import 'rules/use_key_in_widget_constructors.dart'; |
| import 'rules/use_late_for_private_fields_and_variables.dart'; |
| import 'rules/use_named_constants.dart'; |
| import 'rules/use_raw_strings.dart'; |
| import 'rules/use_rethrow_when_possible.dart'; |
| import 'rules/use_setters_to_change_properties.dart'; |
| import 'rules/use_string_buffers.dart'; |
| import 'rules/use_string_in_part_of_directives.dart'; |
| import 'rules/use_super_parameters.dart'; |
| import 'rules/use_test_throws_matchers.dart'; |
| import 'rules/use_to_and_as_if_applicable.dart'; |
| import 'rules/valid_regexps.dart'; |
| import 'rules/void_checks.dart'; |
| |
| void registerLintRules({bool inTestMode = false}) { |
| Analyzer.facade.cacheLinterVersion(); |
| Analyzer.facade |
| ..register(AlwaysDeclareReturnTypes()) |
| ..register(AlwaysPutControlBodyOnNewLine()) |
| ..register(AlwaysPutRequiredNamedParametersFirst()) |
| ..register(AlwaysRequireNonNullNamedParameters()) |
| ..register(AlwaysSpecifyTypes()) |
| ..register(AlwaysUsePackageImports()) |
| ..register(AnnotateOverrides()) |
| ..register(AvoidAnnotatingWithDynamic()) |
| ..register(AvoidAs()) |
| ..register(AvoidBoolLiteralsInConditionalExpressions()) |
| ..register(AvoidCatchesWithoutOnClauses()) |
| ..register(AvoidCatchingErrors()) |
| ..register(AvoidClassesWithOnlyStaticMembers()) |
| ..register(AvoidDoubleAndIntChecks()) |
| ..register(AvoidDynamicCalls()) |
| ..register(AvoidEmptyElse()) |
| ..register(AvoidEscapingInnerQuotes()) |
| ..register(AvoidFieldInitializersInConstClasses()) |
| ..register(AvoidFinalParameters()) |
| ..register(AvoidFunctionLiteralInForeachMethod()) |
| ..register(AvoidImplementingValueTypes()) |
| ..register(AvoidInitToNull()) |
| ..register(AvoidJsRoundedInts()) |
| ..register(AvoidMultipleDeclarationsPerLine()) |
| ..register(AvoidNullChecksInEqualityOperators()) |
| ..register(AvoidOperatorEqualsOnMutableClasses()) |
| ..register(AvoidPositionalBooleanParameters()) |
| ..register(AvoidPrint()) |
| ..register(AvoidPrivateTypedefFunctions()) |
| ..register(AvoidRedundantArgumentValues()) |
| ..register(AvoidRelativeLibImports()) |
| ..register(AvoidRenamingMethodParameters()) |
| ..register(AvoidReturningNull()) |
| ..register(AvoidReturningNullForFuture()) |
| ..register(AvoidReturningNullForVoid()) |
| ..register(AvoidReturningThis()) |
| ..register(AvoidReturnTypesOnSetters()) |
| ..register(AvoidSettersWithoutGetters()) |
| ..register(AvoidShadowingTypeParameters()) |
| ..register(AvoidSingleCascadeInExpressionStatements()) |
| ..register(AvoidSlowAsyncIo()) |
| ..register(AvoidTypeToString()) |
| ..register(AvoidTypesAsParameterNames()) |
| ..register(AvoidTypesOnClosureParameters()) |
| ..register(AvoidUnnecessaryContainers()) |
| ..register(AvoidUnusedConstructorParameters()) |
| ..register(AvoidVoidAsync()) |
| ..register(AvoidWebLibrariesInFlutter()) |
| ..register(AwaitOnlyFutures()) |
| ..register(CamelCaseExtensions()) |
| ..register(CamelCaseTypes()) |
| ..register(CancelSubscriptions()) |
| ..register(CascadeInvocations()) |
| ..register(CastNullableToNonNullable()) |
| ..register(CloseSinks()) |
| ..register(CombinatorsOrdering()) |
| ..register(CommentReferences()) |
| ..register(ConditionalUriDoesNotExist()) |
| ..register(ConstantIdentifierNames()) |
| ..register(ControlFlowInFinally()) |
| ..register(CurlyBracesInFlowControlStructures()) |
| ..register(DependOnReferencedPackages()) |
| ..register(DeprecatedConsistency()) |
| ..register(DiagnosticsDescribeAllProperties()) |
| ..register(DirectivesOrdering()) |
| ..register(DiscardedFutures()) |
| ..register(DoNotUseEnvironment()) |
| ..register(EmptyCatches()) |
| ..register(EmptyConstructorBodies()) |
| ..register(EmptyStatements()) |
| ..register(EolAtEndOfFile()) |
| ..register(ExhaustiveCases()) |
| ..register(FileNames()) |
| ..register(FlutterStyleTodos()) |
| ..register(HashAndEquals()) |
| ..register(ImplementationImports()) |
| ..register(InvariantBooleans()) |
| ..register(IterableContainsUnrelatedType()) |
| ..register(JoinReturnWithAssignment()) |
| ..register(LeadingNewlinesInMultilineStrings()) |
| ..register(LibraryNames()) |
| ..register(LibraryPrefixes()) |
| ..register(LibraryPrivateTypesInPublicAPI()) |
| ..register(LinesLongerThan80Chars()) |
| ..register(ListRemoveUnrelatedType()) |
| ..register(LiteralOnlyBooleanExpressions()) |
| ..register(MissingWhitespaceBetweenAdjacentStrings()) |
| ..register(NoAdjacentStringsInList()) |
| ..register(NoDefaultCases()) |
| ..register(NoDuplicateCaseValues()) |
| ..register(NonConstantIdentifierNames()) |
| ..register(NoLeadingUnderscoresForLibraryPrefixes()) |
| ..register(NoLeadingUnderscoresForLocalIdentifiers()) |
| ..register(NoLogicInCreateState()) |
| ..register(NoopPrimitiveOperations()) |
| ..register(NoRuntimeTypeToString()) |
| ..register(NullCheckOnNullableTypeParameter()) |
| ..register(NullClosures()) |
| ..register(OmitLocalVariableTypes()) |
| ..register(OneMemberAbstracts()) |
| ..register(OnlyThrowErrors()) |
| ..register(OverriddenFields()) |
| ..register(PackageApiDocs()) |
| ..register(PackagePrefixedLibraryNames()) |
| ..register(ParameterAssignments()) |
| ..register(PreferAdjacentStringConcatenation()) |
| ..register(PreferAssertsInInitializerLists()) |
| ..register(PreferAssertsWithMessage()) |
| ..register(PreferBoolInAsserts()) |
| ..register(PreferCollectionLiterals()) |
| ..register(PreferConditionalAssignment()) |
| ..register(PreferConstConstructors()) |
| ..register(PreferConstConstructorsInImmutables()) |
| ..register(PreferConstDeclarations()) |
| ..register(PreferConstLiteralsToCreateImmutables()) |
| ..register(PreferConstructorsInsteadOfStaticMethods()) |
| ..register(PreferContainsOverIndexOf()) |
| ..register(PreferDoubleQuotes()) |
| ..register(PreferEqualForDefaultValues()) |
| ..register(PreferExpressionFunctionBodies()) |
| ..register(PreferFinalFields()) |
| ..register(PreferFinalInForEach()) |
| ..register(PreferFinalLocals()) |
| ..register(PreferFinalParameters()) |
| ..register(PreferForeach()) |
| ..register(PreferForElementsToMapFromIterable()) |
| ..register(PreferFunctionDeclarationsOverVariables()) |
| ..register(PreferGenericFunctionTypeAliases()) |
| ..register(PreferIfElementsToConditionalExpressions()) |
| ..register(PreferIfNullOperators()) |
| ..register(PreferInitializingFormals()) |
| ..register(PreferInlinedAdds()) |
| ..register(PreferInterpolationToComposeStrings()) |
| ..register(PreferIntLiterals()) |
| ..register(PreferIsEmpty()) |
| ..register(PreferIsNotEmpty()) |
| ..register(PreferIsNotOperator()) |
| ..register(PreferIterableWhereType()) |
| ..register(PreferMixin()) |
| ..register(PreferNullAwareOperators()) |
| ..register(PreferNullAwareMethodCalls()) |
| ..register(PreferRelativeImports()) |
| ..register(PreferSingleQuotes()) |
| ..register(PreferSpreadCollections()) |
| ..register(PreferTypingUninitializedVariables()) |
| ..register(PreferVoidToNull()) |
| ..register(ProvideDeprecationMessage()) |
| ..register(PublicMemberApiDocs()) |
| ..register(PubPackageNames()) |
| ..register(SecurePubspecUrls()) |
| ..register(RecursiveGetters()) |
| ..register(RequireTrailingCommas()) |
| ..register(SizedBoxForWhitespace()) |
| ..register(SizedBoxShrinkExpand()) |
| ..register(SlashForDocComments()) |
| ..register(SortChildPropertiesLast()) |
| ..register(SortConstructorsFirst()) |
| ..register(SortPubDependencies()) |
| ..register(SortUnnamedConstructorsFirst()) |
| ..register(SuperGoesLast()) |
| ..register(TestTypesInEquals()) |
| ..register(TightenTypeOfInitializingFormals()) |
| ..register(ThrowInFinally()) |
| ..register(TypeAnnotatePublicApis()) |
| ..register(TypeInitFormals()) |
| ..register(UnawaitedFutures()) |
| ..register(UnnecessaryAwaitInReturn()) |
| ..register(UnnecessaryBraceInStringInterps()) |
| ..register(UnnecessaryConst()) |
| ..register(UnnecessaryConstructorName()) |
| ..register(UnnecessaryFinal()) |
| ..register(UnnecessaryNew()) |
| ..register(UnnecessaryNullAwareAssignments()) |
| ..register(UnnecessaryNullInIfNullOperators()) |
| // Disabled pending fix: https://github.com/dart-lang/linter/issues/23 |
| //..register(UnnecessaryGetters()) |
| ..register(UnnecessaryGettersSetters()) |
| ..register(UnnecessaryLambdas()) |
| ..register(UnnecessaryLate()) |
| ..register(UnnecessaryNullableForFinalVariableDeclarations()) |
| ..register(UnnecessaryNullAwareOperatorOnExtensionOnNullable()) |
| ..register(UnnecessaryNullChecks()) |
| ..register(UnnecessaryOverrides()) |
| ..register(UnnecessaryParenthesis()) |
| ..register(UnnecessaryRawStrings()) |
| ..register(UnnecessaryStatements()) |
| ..register(UnnecessaryStringEscapes()) |
| ..register(UnnecessaryStringInterpolations()) |
| ..register(UnnecessaryThis()) |
| ..register(UnnecessaryToListInSpreads()) |
| ..register(UnreachableFromMain()) |
| ..register(UnrelatedTypeEqualityChecks()) |
| ..register(UnsafeHtml()) |
| ..register(UseBuildContextSynchronously(inTestMode: inTestMode)) |
| ..register(UseColoredBox()) |
| ..register(UseDecoratedBox()) |
| ..register(UseEnums()) |
| ..register(UseFullHexValuesForFlutterColors()) |
| ..register(UseFunctionTypeSyntaxForParameters()) |
| ..register(UseIfNullToConvertNullsToBools()) |
| ..register(UseIsEvenRatherThanModuloCheck()) |
| ..register(UseKeyInWidgetConstructors()) |
| ..register(UseLateForPrivateFieldsAndVariables()) |
| ..register(UseNamedConstants()) |
| ..register(UseRethrowWhenPossible()) |
| ..register(UseRawStrings()) |
| ..register(UseSettersToChangeAProperty()) |
| ..register(UseStringBuffers()) |
| ..register(UseStringInPartOfDirectives()) |
| ..register(UseSuperParameters()) |
| ..register(UseTestThrowsMatchers()) |
| ..register(UseToAndAsIfApplicable()) |
| ..register(ValidRegExps()) |
| ..register(VoidChecks()); |
| } |