Inspectopedia Help

'@JvmOverloads' annotation cannot be used on constructors of annotation classes since 1.4

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)

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Kotlin, 241.16690-IJ

Last modified: 29 April 2024