Reports classes annotated with the @com.intellij.openapi.components.Service annotation that are not final.

Suggests making a class final if it is concrete.

Example:


  // MyService.kt
  @Service(Service.Level.APP)
  open class MyService

After the quick-fix is applied:


  // MyService.kt
  @Service(Service.Level.APP)
  class MyService

Suggests removing the @Service annotation if it is an abstract class or interface.

Example:


  // MyService.java
  @Service(Service.Level.APP)
  abstract class MyService {}

After the quick-fix is applied:


  // MyService.java
  abstract class MyService {}

New in 2023.2