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.
Extension registration:
<annotator language="myLang" implementationClass="com.example.MyAnnotator"/>
Extension implementation:
// bad:
object MyAnnotator : Annotator {
...
}
// good:
class MyAnnotator : Annotator {
...
}
New in 2023.1