Back to Intellij Community

ProhibitJvmOverloadsOnConstructorsOfAnnotationClassesMigration

plugins/kotlin/code-insight/descriptions/resources-en/inspectionDescriptions/ProhibitJvmOverloadsOnConstructorsOfAnnotationClassesMigration.html

2025.3-rc-2529 B
Original Source

Reports @JvmOverloads on constructors of annotation classes because it's meaningless.

There is no footprint of @JvmOverloads in the generated bytecode and Kotlin metadata, so @JvmOverloads doesn't affect the generated bytecode and the code behavior.

@JvmOverloads on constructors of annotation classes causes a compilation error since Kotlin 1.4.

Example:

annotation class A @JvmOverloads constructor(val x: Int = 1)

After the quick-fix is applied:

annotation class A constructor(val x: Int = 1)