registerRules function

void registerRules(
  1. PluginRegistry registry, {
  2. String? projectRoot,
})

Registers all DCQ rules with the given registry.

If projectRoot is provided, reads rule config from that directory instead of CWD. This allows parallel analysis of multiple projects.

Implementation

void registerRules(PluginRegistry registry, {String? projectRoot}) {
  DcqConfig.readAllRuleConfigs(projectRoot: projectRoot);

  // Track all registered rule names for AvoidUnusedRuleIgnores.
  // Rules disabled via dart_code_quality: rules: are suppressed at report
  // time in DcqRule.reportAtNode/reportAtToken/reportAtOffset.
  final tracking = _TrackingRegistry(registry);

  // Warning rules (on by default — recommended set).
  tracking.registerWarningRule(AvoidAssigningToStaticField());
  tracking.registerWarningRule(AvoidAssignmentsAsConditions());
  tracking.registerWarningRule(AvoidAsyncCallInSyncFunction());
  tracking.registerWarningRule(AvoidBitwiseOperatorsWithBooleans());
  tracking.registerWarningRule(AvoidBottomTypeInPatterns());
  tracking.registerWarningRule(AvoidBottomTypeInRecords());
  tracking.registerWarningRule(AvoidCascadeAfterIfNull());
  tracking.registerWarningRule(AvoidCastingToExtensionType());
  tracking.registerWarningRule(AvoidCollectionEqualityChecks());
  tracking.registerWarningRule(AvoidConditionsWithBooleanLiterals());
  tracking.registerWarningRule(AvoidConstantAssertConditions());
  tracking.registerWarningRule(AvoidConstantConditions());
  tracking.registerWarningRule(AvoidConstantSwitches());
  tracking.registerWarningRule(AvoidContradictoryExpressions());
  tracking.registerWarningRule(AvoidDuplicateCascades());
  tracking.registerWarningRule(AvoidDuplicateCollectionElements());
  tracking.registerWarningRule(AvoidDuplicateConstantValues());
  tracking.registerWarningRule(AvoidDuplicateExports());
  tracking.registerWarningRule(AvoidDuplicateInitializers());
  tracking.registerWarningRule(AvoidDuplicateMapKeys());
  tracking.registerWarningRule(AvoidDuplicateMixins());
  tracking.registerWarningRule(AvoidDuplicateNamedImports());
  tracking.registerWarningRule(AvoidDuplicatePatterns());
  tracking.registerWarningRule(AvoidDuplicateSwitchCaseConditions());
  tracking.registerWarningRule(AvoidEmptySpread());
  tracking.registerWarningRule(AvoidEnumValuesByIndex());
  tracking.registerWarningRule(AvoidEqualExpressions());
  tracking.registerWarningRule(AvoidFutureIgnore());
  tracking.registerWarningRule(AvoidFutureTostring());
  tracking.registerWarningRule(AvoidGenericsShadowing());
  tracking.registerWarningRule(AvoidImplicitlyNullableExtensionTypes());
  tracking.registerWarningRule(AvoidIncorrectUri());
  tracking.registerWarningRule(AvoidMapKeysContains());
  tracking.registerWarningRule(AvoidMissedCalls());
  tracking.registerWarningRule(AvoidMissingCompleterStackTrace());
  tracking.registerWarningRule(AvoidMissingEnumConstantInMap());
  tracking.registerWarningRule(AvoidMissingInterpolation());
  tracking.registerWarningRule(AvoidMisusedSetLiterals());
  tracking.registerWarningRule(AvoidMisusedTestMatchers());
  tracking.registerWarningRule(AvoidMisusedWildcardPattern());
  tracking.registerWarningRule(AvoidMultiAssignment());
  tracking.registerWarningRule(AvoidNestedFutures());
  tracking.registerWarningRule(AvoidNestedShorthands());
  tracking.registerWarningRule(AvoidNestedStreamsAndFutures());
  tracking.registerWarningRule(AvoidNonFinalExceptionClassFields());
  tracking.registerWarningRule(AvoidNonNullAssertion());
  tracking.registerWarningRule(AvoidNotEncodableInToJson());
  tracking.registerWarningRule(AvoidNullableInterpolation());
  tracking.registerWarningRule(AvoidNullableParametersWithDefaultValues());
  tracking.registerWarningRule(AvoidNullableTostring());
  tracking.registerWarningRule(AvoidOnlyRethrow());
  tracking.registerWarningRule(AvoidPassingAsyncWhenSyncExpected());
  tracking.registerWarningRule(AvoidPassingSelfAsArgument());
  tracking.registerWarningRule(AvoidRecursiveCalls());
  tracking.registerWarningRule(AvoidRecursiveTostring());
  tracking.registerWarningRule(AvoidRedundantElse());
  tracking.registerWarningRule(AvoidSelfCompare());
  tracking.registerWarningRule(AvoidShadowedExtensionMethods());
  tracking.registerWarningRule(AvoidStreamTostring());
  tracking.registerWarningRule(AvoidSuspiciousGlobalReference());
  tracking.registerWarningRule(AvoidSuspiciousSuperOverrides());
  tracking.registerWarningRule(AvoidUnassignedFields());
  tracking.registerWarningRule(AvoidUnassignedLateFields());
  tracking.registerWarningRule(AvoidUnassignedLocalVariable());
  tracking.registerWarningRule(AvoidUnassignedStreamSubscriptions());
  tracking.registerWarningRule(AvoidUncaughtFutureErrors());
  tracking.registerWarningRule(AvoidUnconditionalBreak());
  tracking.registerWarningRule(AvoidUnknownPragma());
  tracking.registerWarningRule(AvoidUnnecessaryConditionals());
  tracking.registerWarningRule(AvoidUnnecessaryFutures());
  tracking.registerWarningRule(AvoidUnnecessaryIf());
  tracking.registerWarningRule(AvoidUnnecessaryNegations());
  tracking.registerWarningRule(AvoidUnnecessaryReassignment());
  tracking.registerWarningRule(AvoidUnnecessaryTypeAssertions());
  tracking.registerWarningRule(AvoidUnreachableForLoop());
  tracking.registerWarningRule(AvoidUnrelatedTypeAssertions());
  tracking.registerWarningRule(AvoidUnrelatedTypeCasts());
  tracking.registerWarningRule(AvoidUnremovableCallbacksInListeners());
  tracking.registerWarningRule(AvoidUnsafeCollectionMethods());
  tracking.registerWarningRule(AvoidUnsafeReduce());
  tracking.registerWarningRule(AvoidUnusedAfterNullCheck());
  tracking.registerWarningRule(AvoidUnusedAssignment());
  tracking.registerWarningRule(AvoidUnusedInstances());
  tracking.registerWarningRule(AvoidUnusedParameters());
  tracking.registerWarningRule(AvoidWeakCryptographicAlgorithms());
  tracking.registerWarningRule(AvoidWildcardCasesWithEnums());
  tracking.registerWarningRule(AvoidWildcardCasesWithSealedClasses());
  tracking.registerWarningRule(DisposeClassFields());
  tracking.registerWarningRule(FunctionAlwaysReturnsNull());
  tracking.registerWarningRule(FunctionAlwaysReturnsSameValue());
  tracking.registerWarningRule(MatchBaseClassDefaultValue());
  tracking.registerWarningRule(MatchGetterSetterFieldNames());
  tracking.registerWarningRule(MissingTestAssertion());
  tracking.registerWarningRule(NoEmptyBlock());
  tracking.registerWarningRule(NoMagicNumber());
  tracking.registerWarningRule(NoMagicString());
  tracking.registerWarningRule(NoEqualArguments());
  tracking.registerWarningRule(NoEqualConditions());
  tracking.registerWarningRule(NoEqualNestedConditions());
  tracking.registerWarningRule(NoEqualSwitchExpressionCases());
  tracking.registerWarningRule(NoEqualThenElse());
  tracking.registerWarningRule(PreferCorrectForLoopIncrement());
  tracking.registerWarningRule(PreferCorrectJsonCasts());
  tracking.registerWarningRule(PreferCorrectStreamReturnType());
  tracking.registerWarningRule(PreferCorrectThrows());
  tracking.registerWarningRule(PreferOverridingParentEquality());
  tracking.registerWarningRule(PreferParenthesesWithIfNull());
  tracking.registerWarningRule(PreferReturnAwait());
  tracking.registerWarningRule(PreferSpecificCasesFirst());
  tracking.registerWarningRule(PreferSpecifyingFutureValueType());
  tracking.registerWarningRule(PreferUniqueTestNames());
  tracking.registerWarningRule(AddEquatableProps());
  tracking.registerWarningRule(ListAllEquatableFields());
  tracking.registerWarningRule(AvoidAsyncCallbackInFakeAsync());
  tracking.registerWarningRule(AlwaysRemoveListener());
  tracking.registerWarningRule(AvoidDisposingLateFields());
  tracking.registerWarningRule(AvoidEmptySetstate());
  tracking.registerWarningRule(AvoidFlexibleOutsideFlex());
  tracking.registerWarningRule(AvoidIncompleteCopyWith());
  tracking.registerWarningRule(AvoidIncorrectImageOpacity());
  tracking.registerWarningRule(AvoidInheritedWidgetInInitstate());
  tracking.registerWarningRule(AvoidLateContext());
  tracking.registerWarningRule(AvoidMissingController());
  tracking.registerWarningRule(AvoidMissingImageAlt());
  tracking.registerWarningRule(AvoidMountedInSetstate());
  tracking.registerWarningRule(AvoidRecursiveWidgetCalls());
  tracking.registerWarningRule(AvoidShrinkWrapInLists());
  tracking.registerWarningRule(AvoidStateConstructors());
  tracking.registerWarningRule(AvoidStatelessWidgetInitializedFields());
  tracking.registerWarningRule(AvoidUndisposedInstances());
  tracking.registerWarningRule(AvoidUnnecessarySetstate());
  tracking.registerWarningRule(CheckForEqualsInRenderObjectSetters());
  tracking.registerWarningRule(ConsistentUpdateRenderObject());
  tracking.registerWarningRule(DisposeFields());
  tracking.registerWarningRule(PassExistingFutureToFutureBuilder());
  tracking.registerWarningRule(PassExistingStreamToStreamBuilder());
  tracking.registerWarningRule(PreferDedicatedMediaQueryMethods());
  tracking.registerWarningRule(PreferDefineHeroTag());
  tracking.registerWarningRule(PreferCorrectStaticIconProvider());
  tracking.registerWarningRule(ProperSuperCalls());
  tracking.registerWarningRule(UseSetstateSynchronously());
  tracking.registerWarningRule(AvoidImplementationInMocks());
  tracking.registerWarningRule(PassMockObject());
  tracking.registerWarningRule(PreferCorrectAnyMatcher());
  tracking.registerWarningRule(AvoidAssigningNotifiers());
  tracking.registerWarningRule(AvoidCallingNotifierMembersInsideBuild());
  tracking.registerWarningRule(AvoidNotifierConstructors());
  tracking.registerWarningRule(AvoidNullableAsyncValuePattern());
  tracking.registerWarningRule(AvoidPublicNotifierProperties());
  tracking.registerWarningRule(AvoidRefInsideStateDispose());
  tracking.registerWarningRule(AvoidRefReadInsideBuild());
  tracking.registerWarningRule(AvoidRefWatchOutsideBuild());
  tracking.registerWarningRule(DisposeProvidedInstances());
  tracking.registerWarningRule(PreferImmutableProviderArguments());
  tracking.registerWarningRule(UseRefAndStateSynchronously());
  tracking.registerWarningRule(UseRefReadSynchronously());
  tracking.registerWarningRule(UseThenAnswer());

  // Lint rules (off by default — enable via diagnostics: rule_name: true).
  tracking.registerLintRule(ArgumentsOrdering());
  tracking.registerLintRule(AvoidAccessingCollectionsByConstantIndex());
  tracking.registerLintRule(AvoidAccessingOtherClassesPrivateMembers());
  tracking.registerLintRule(AvoidAdjacentStrings());
  tracking.registerLintRule(AvoidBannedAnnotations());
  tracking.registerLintRule(AvoidBannedExports());
  tracking.registerLintRule(AvoidBannedFileNames());
  tracking.registerLintRule(AvoidBannedImports());
  tracking.registerLintRule(AvoidBannedNames());
  tracking.registerLintRule(AvoidBannedTypes());
  tracking.registerLintRule(AvoidBarrelFiles());
  tracking.registerLintRule(AvoidCollapsibleIf());
  tracking.registerLintRule(AvoidCollectionMutatingMethods());
  tracking.registerLintRule(AvoidCommentedOutCode());
  tracking.registerLintRule(AvoidComplexArithmeticExpressions());
  tracking.registerLintRule(AvoidComplexConditions());
  tracking.registerLintRule(AvoidComplexLoopConditions());
  tracking.registerLintRule(AvoidContinue());
  tracking.registerLintRule(AvoidDeclaringCallMethod());
  tracking.registerLintRule(AvoidDefaultTostring());
  tracking.registerLintRule(AvoidDoubleSlashImports());
  tracking.registerLintRule(AvoidDuplicateTestAssertions());
  tracking.registerLintRule(AvoidDynamic());
  tracking.registerLintRule(AvoidEmptyTestGroups());
  tracking.registerLintRule(AvoidExcessiveExpressions());
  tracking.registerLintRule(AvoidExplicitPatternFieldName());
  tracking.registerLintRule(AvoidExplicitTypeDeclaration());
  tracking.registerLintRule(AvoidExtensionsOnRecords());
  tracking.registerLintRule(AvoidFunctionTypeInRecords());
  tracking.registerLintRule(AvoidGetterPrefix());
  tracking.registerLintRule(AvoidGlobalState());
  tracking.registerLintRule(AvoidHighCyclomaticComplexity());
  tracking.registerLintRule(AvoidIdenticalExceptionHandlingBlocks());
  tracking.registerLintRule(AvoidIfWithManyBranches());
  tracking.registerLintRule(AvoidIgnoringReturnValues());
  tracking.registerLintRule(AvoidImmediatelyInvokedFunctions());
  tracking.registerLintRule(AvoidInconsistentDigitSeparators());
  tracking.registerLintRule(AvoidInferrableTypeArguments());
  tracking.registerLintRule(AvoidInvertedBooleanChecks());
  tracking.registerLintRule(AvoidKeywordsInWildcardPattern());
  tracking.registerLintRule(AvoidLateKeyword());
  tracking.registerLintRule(AvoidLocalFunctions());
  tracking.registerLintRule(AvoidLongFiles());
  tracking.registerLintRule(AvoidLongParameterList());
  tracking.registerLintRule(AvoidLongRecords());
  tracking.registerLintRule(AvoidMixingNamedAndPositionalFields());
  tracking.registerLintRule(AvoidMutatingParameters());
  tracking.registerLintRule(AvoidNegatedConditions());
  tracking.registerLintRule(AvoidNegationsInEqualityChecks());
  tracking.registerLintRule(AvoidNestedAssignments());
  tracking.registerLintRule(AvoidNestedConditionalExpressions());
  tracking.registerLintRule(AvoidNestedExtensionTypes());
  tracking.registerLintRule(AvoidNestedRecords());
  tracking.registerLintRule(AvoidNestedSwitchExpressions());
  tracking.registerLintRule(AvoidNestedSwitches());
  tracking.registerLintRule(AvoidNestedTryStatements());
  tracking.registerLintRule(AvoidNonAsciiSymbols());
  tracking.registerLintRule(AvoidNonEmptyConstructorBodies());
  tracking.registerLintRule(AvoidOneFieldRecords());
  tracking.registerLintRule(AvoidPassingDefaultValues());
  tracking.registerLintRule(AvoidPositionalRecordFieldAccess());
  tracking.registerLintRule(AvoidRedundantPositionalFieldName());
  tracking.registerLintRule(AvoidRedundantPragmaInline());
  tracking.registerLintRule(AvoidReferencingSubclasses());
  tracking.registerLintRule(AvoidRenamingRepresentationGetters());
  tracking.registerLintRule(AvoidReturningCascades());
  tracking.registerLintRule(AvoidReturningVoid());
  tracking.registerLintRule(AvoidShadowing());
  tracking.registerLintRule(AvoidSimilarNames());
  tracking.registerLintRule(AvoidSingleFieldDestructuring());
  tracking.registerLintRule(AvoidSlowCollectionMethods());
  tracking.registerLintRule(AvoidSubstring());
  tracking.registerLintRule(AvoidThrow());
  tracking.registerLintRule(AvoidThrowInCatchBlock());
  tracking.registerLintRule(AvoidThrowObjectsWithoutTostring());
  tracking.registerLintRule(AvoidTopLevelMembersInTests());
  tracking.registerLintRule(AvoidTypeCasts());
  tracking.registerLintRule(AvoidUnnecessaryBlock());
  tracking.registerLintRule(AvoidUnnecessaryCall());
  tracking.registerLintRule(AvoidUnnecessaryCollections());
  tracking.registerLintRule(AvoidUnnecessaryCompareTo());
  tracking.registerLintRule(AvoidUnnecessaryConstructor());
  tracking.registerLintRule(AvoidUnnecessaryContinue());
  tracking.registerLintRule(AvoidUnnecessaryDigitSeparators());
  tracking.registerLintRule(AvoidUnnecessaryEnumArguments());
  tracking.registerLintRule(AvoidUnnecessaryEnumPrefix());
  tracking.registerLintRule(AvoidUnnecessaryExtends());
  tracking.registerLintRule(AvoidUnnecessaryGetter());
  tracking.registerLintRule(AvoidUnnecessaryLateFields());
  tracking.registerLintRule(AvoidUnnecessaryLengthCheck());
  tracking.registerLintRule(AvoidUnnecessaryLocalLate());
  tracking.registerLintRule(AvoidUnnecessaryLocalVariable());
  tracking.registerLintRule(AvoidUnnecessaryNullAwareElements());
  tracking.registerLintRule(AvoidUnnecessaryNullableFields());
  tracking.registerLintRule(AvoidUnnecessaryNullableReturnType());
  tracking.registerLintRule(AvoidUnnecessaryPatterns());
  tracking.registerLintRule(AvoidUnnecessaryReturn());
  tracking.registerLintRule(AvoidUnnecessarySuper());
  tracking.registerLintRule(AvoidUnusedGenerics());
  tracking.registerLintRule(BanName());
  tracking.registerLintRule(BannedUsage());
  tracking.registerLintRule(BinaryExpressionOperandOrder());
  tracking.registerLintRule(DoubleLiteralFormat());
  tracking.registerLintRule(EnumConstantsOrdering());
  tracking.registerLintRule(FormatComment());
  tracking.registerLintRule(FormatTestName());
  tracking.registerLintRule(HandleThrowingInvocations());
  tracking.registerLintRule(MapKeysOrdering());
  tracking.registerLintRule(MatchClassNamePattern());
  tracking.registerLintRule(MaxImports());
  tracking.registerLintRule(MemberOrdering());
  tracking.registerLintRule(MoveRecordsToTypedefs());
  tracking.registerLintRule(MoveVariableCloserToItsUsage());
  tracking.registerLintRule(MoveVariableOutsideIteration());
  tracking.registerLintRule(NewlineBeforeCase());
  tracking.registerLintRule(NewlineBeforeConstructor());
  tracking.registerLintRule(NewlineBeforeMethod());
  tracking.registerLintRule(NewlineBeforeReturn());
  tracking.registerLintRule(NoEmptyString());
  tracking.registerLintRule(NoObjectDeclaration());
  tracking.registerLintRule(ParametersOrdering());
  tracking.registerLintRule(PassOptionalArgument());
  tracking.registerLintRule(PatternFieldsOrdering());
  tracking.registerLintRule(PreferAbstractFinalStaticClass());
  tracking.registerLintRule(PreferAddAll());
  tracking.registerLintRule(PreferAdditionSubtractionAssignments());
  tracking.registerLintRule(PreferAnyOrEvery());
  tracking.registerLintRule(PreferAssigningAwaitExpressions());
  tracking.registerLintRule(PreferAsyncAwait());
  tracking.registerLintRule(PreferBooleanPrefixes());
  tracking.registerLintRule(PreferBothInliningAnnotations());
  tracking.registerLintRule(PreferClassDestructuring());
  tracking.registerLintRule(PreferCommentingFutureDelayed());
  tracking.registerLintRule(PreferCompoundAssignmentOperators());
  tracking.registerLintRule(PreferConditionalExpressions());
  tracking.registerLintRule(PreferCorrectCallbackFieldName());
  tracking.registerLintRule(PreferCorrectErrorName());
  tracking.registerLintRule(PreferCorrectSetterParameterName());
  tracking.registerLintRule(PreferCorrectSwitchLength());
  tracking.registerLintRule(PreferCorrectTestFileName());
  tracking.registerLintRule(PreferCorrectTypeName());
  tracking.registerLintRule(PreferDeclaringConstConstructor());
  tracking.registerLintRule(PreferDigitSeparators());
  tracking.registerLintRule(PreferEarlyReturn());
  tracking.registerLintRule(PreferEnumsByName());
  tracking.registerLintRule(PreferExpectLater());
  tracking.registerLintRule(PreferExplicitFunctionType());
  tracking.registerLintRule(PreferExplicitParameterNames());
  tracking.registerLintRule(PreferExplicitTypeArguments());
  tracking.registerLintRule(PreferExtractingFunctionCallbacks());
  tracking.registerLintRule(PreferFirst());
  tracking.registerLintRule(PreferForIn());
  tracking.registerLintRule(PreferGetterOverMethod());
  tracking.registerLintRule(PreferImmediateReturn());
  tracking.registerLintRule(PreferIterableOf());
  tracking.registerLintRule(PreferLast());
  tracking.registerLintRule(PreferMatchFileName());
  tracking.registerLintRule(PreferMovingToVariable());
  tracking.registerLintRule(PreferNamedBooleanParameters());
  tracking.registerLintRule(PreferNamedImports());
  tracking.registerLintRule(PreferNamedParameters());
  tracking.registerLintRule(PreferNamedRecordFields());
  tracking.registerLintRule(PreferNonNulls());
  tracking.registerLintRule(PreferNullAwareElements());
  tracking.registerLintRule(PreferNullAwareSpread());
  tracking.registerLintRule(PreferPrefixedGlobalConstants());
  tracking.registerLintRule(PreferPrivateExtensionTypeField());
  tracking.registerLintRule(PreferPublicExceptionClasses());
  tracking.registerLintRule(PreferPushingConditionalExpressions());
  tracking.registerLintRule(PreferReturningCondition());
  tracking.registerLintRule(PreferReturningConditionalExpressions());
  tracking.registerLintRule(PreferReturningShorthands());
  tracking.registerLintRule(PreferShorthandsWithConstructors());
  tracking.registerLintRule(PreferShorthandsWithEnums());
  tracking.registerLintRule(PreferShorthandsWithStaticFields());
  tracking.registerLintRule(PreferSimplerBooleanExpressions());
  tracking.registerLintRule(PreferSimplerPatternsNullCheck());
  tracking.registerLintRule(PreferSingleDeclarationPerFile());
  tracking.registerLintRule(PreferStaticMethod());
  tracking.registerLintRule(PreferSwitchExpression());
  tracking.registerLintRule(PreferSwitchWithEnums());
  tracking.registerLintRule(PreferSwitchWithSealedClasses());
  tracking.registerLintRule(PreferTestMatchers());
  tracking.registerLintRule(PreferTestStructure());
  tracking.registerLintRule(PreferTypeOverVar());
  tracking.registerLintRule(PreferTypedefsForCallbacks());
  tracking.registerLintRule(PreferUnwrappingFutureOr());
  tracking.registerLintRule(PreferVisibleForTestingOnMembers());
  tracking.registerLintRule(PreferWildcardPattern());
  tracking.registerLintRule(RecordFieldsOrdering());
  tracking.registerLintRule(TagName());
  tracking.registerLintRule(UseExistingDestructuring());
  tracking.registerLintRule(UseExistingVariable());
  tracking.registerLintRule(AvoidMissingTr());
  tracking.registerLintRule(AvoidMissingTrOnStrings());
  tracking.registerLintRule(PreferEquatableMixin());
  tracking.registerLintRule(AddCopyWith());
  tracking.registerLintRule(AvoidBorderAll());
  tracking.registerLintRule(AvoidExpandedAsSpacer());
  tracking.registerLintRule(AvoidReturningWidgets());
  tracking.registerLintRule(AvoidSingleChildColumnOrRow());
  tracking.registerLintRule(AvoidUnnecessaryGestureDetector());
  tracking.registerLintRule(AvoidUnnecessaryOverridesInState());
  tracking.registerLintRule(AvoidUnnecessaryStatefulWidgets());
  tracking.registerLintRule(AvoidWrappingInPadding());
  tracking.registerLintRule(PreferActionButtonTooltip());
  tracking.registerLintRule(PreferAlignOverContainer());
  tracking.registerLintRule(PreferCenterOverAlign());
  tracking.registerLintRule(PreferComputeOverIsolateRun());
  tracking.registerLintRule(PreferConstBorderRadius());
  tracking.registerLintRule(PreferConstrainedBoxOverContainer());
  tracking.registerLintRule(PreferContainer());
  tracking.registerLintRule(PreferCorrectEdgeInsetsConstructor());
  tracking.registerLintRule(PreferExtractingCallbacks());
  tracking.registerLintRule(PreferForLoopInChildren());
  tracking.registerLintRule(PreferMediaQueryDirectAccess());
  tracking.registerLintRule(PreferPaddingOverContainer());
  tracking.registerLintRule(PreferSingleSetstate());
  tracking.registerLintRule(PreferSingleWidgetPerFile());
  tracking.registerLintRule(PreferSizedBoxSquare());
  tracking.registerLintRule(PreferUsingListView());
  tracking.registerLintRule(PreferWidgetPrivateMembers());
  tracking.registerLintRule(UseClosestBuildContext());
  tracking.registerLintRule(PreferDateFormat());
  tracking.registerLintRule(PreferIntlName());
  tracking.registerLintRule(PreferNumberFormat());
  tracking.registerLintRule(PreferProvidingIntlDescription());
  tracking.registerLintRule(PreferProvidingIntlExamples());
  tracking.registerLintRule(ProvideCorrectIntlArgs());
  tracking.registerLintRule(AvoidUnnecessaryConsumerWidgets());

  // Registered last so it has the full set of known rule names.
  tracking.registerLintRule(AvoidUnusedRuleIgnores(tracking.ruleNames));
}