Kotlin object registered as extension
Reports Kotlin objects that are registered as plugin extensions.
Extensions lifecycle is managed by the IntelliJ Platform. Using Kotlin objects for extension registration may cause creation of unnecessary extension instances and make plugin unloading impossible.
Example
Extension registration:
<annotator language="myLang" implementationClass="com.example.MyAnnotator"/>
Extension implementation:
// bad:
object MyAnnotator : Annotator {
...
}
// good:
class MyAnnotator : Annotator {
...
}
New in 2023.1
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Plugin DevKit, 233.SNAPSHOT |
Last modified: 13 July 2023