Inspectopedia Help

Mismatch between light service level and its constructor

Reports mismatches between light service levels and its constructors.

The following problems are reported:

  • A light service class has a constructor with two parameters of types com.intellij.openapi.project.Project and kotlinx.coroutines.CoroutineScope, or one parameter of type Project is not annotated as a project-level service.

  • A light service class annotated as an application-level service does not have a no-arg constructor, nor a constructor with one parameter of type CoroutineScope.

Example (Kotlin):

@Service // Suggest specifying 'Service.Level.PROJECT' parameter in '@Service' annotation class MyService(val project: Project) // Suggest removing the parameter from constructor 'MyService'

After applying the quick-fix that suggests specifying 'Service.Level.PROJECT' parameter in '@Service' annotation is applied:

@Service(Service.Level.PROJECT) class MyService(val project: Project)

After applying the quick-fix that suggests removing the parameter from constructor 'MyService':

@Service class MyService()

New in 2023.2

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

MismatchedLightServiceLevelAndCtor
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Plugin DevKit | Code

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Plugin DevKit, 241.18072

Last modified: 18 June 2024