register method

  1. @override
void register(
  1. PluginRegistry registry
)
override

Registers analysis rules, quick fixes, and assists.

Implementation

@override
void register(PluginRegistry registry) {
  // Cross-layer rules
  registry.registerWarningRule(LayerDependencyRule());
  registry.registerWarningRule(CircularDependencyRule());
  registry.registerWarningRule(BoundaryCrossingRule());
  registry.registerWarningRule(AllowedInstanceVariablesRule());

  // Data layer rules
  registry.registerWarningRule(DataSourceAbstractionRule());
  registry.registerWarningRule(DataSourceExceptionTypesRule());
  registry.registerWarningRule(DataSourceNoResultReturnRule());
  registry.registerWarningRule(ModelConversionMethodsRule());
  registry.registerWarningRule(ModelEntityDirectAccessRule());
  registry.registerWarningRule(ModelFieldDuplicationRule());
  registry.registerWarningRule(ModelNamingConventionRule());
  registry.registerWarningRule(ModelStructureRule());
  registry.registerWarningRule(RepositoryImplementationRule());
  registry.registerWarningRule(RepositoryNoThrowRule());
  registry.registerWarningRule(RepositoryPassThroughRule());

  // Domain layer rules
  registry.registerWarningRule(DomainPurityRule());
  registry.registerWarningRule(DependencyInversionRule());
  registry.registerWarningRule(RepositoryInterfaceRule());
  registry.registerWarningRule(UseCaseNoResultReturnRule());
  registry.registerWarningRule(ExceptionNamingConventionRule());

  // Presentation layer rules
  registry.registerWarningRule(ExtensionLocationRule());
  registry.registerWarningRule(FreezedUsageRule());
  registry.registerWarningRule(NoPresentationModelsRule());
  registry.registerWarningRule(PresentationNoDataExceptionsRule());
  registry.registerWarningRule(PresentationNoThrowRule());
  registry.registerWarningRule(PresentationUseAsyncValueRule());
  registry.registerWarningRule(RefMountedUsageRule());
  registry.registerWarningRule(RiverpodGeneratorRule());
  registry.registerWarningRule(RiverpodKeepAliveRule());
  registry.registerWarningRule(RiverpodProviderNamingRule());
  registry.registerWarningRule(RiverpodRefAfterAsyncGapRule());
  registry.registerWarningRule(RiverpodRefUsageRule());
  registry.registerWarningRule(WidgetNoUseCaseCallRule());
  registry.registerWarningRule(WidgetRefReadThenWhenRule());
}