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

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Plugin DevKit, 241.16690

Last modified: 29 April 2024