// DO NOT EDIT MANUALLY!
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
// To regenerate run 'generateGradleOptions' task
@file:Suppress("RemoveRedundantQualifierName", "Deprecation", "Deprecation_Error", "DuplicatedCode")

package org.jetbrains.kotlin.gradle.dsl

/**
 * Compiler options for Kotlin/JVM.
 */
@OptIn(org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi::class)
@Deprecated(
    message = org.jetbrains.kotlin.gradle.dsl.KOTLIN_OPTIONS_DEPRECATION_MESSAGE,
    level = DeprecationLevel.ERROR,
)
interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {

    @OptIn(org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi::class)
    @Deprecated(
        message = org.jetbrains.kotlin.gradle.dsl.KOTLIN_OPTIONS_DEPRECATION_MESSAGE,
        level = DeprecationLevel.ERROR,
    )
    /**
     * @suppress
     */
    override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions

    /**
     * Generate metadata for Java 1.8 reflection on method parameters.
     *
     * Default value: false
     */
    @OptIn(org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi::class)
    @Deprecated(
        message = org.jetbrains.kotlin.gradle.dsl.KOTLIN_OPTIONS_DEPRECATION_MESSAGE,
        level = DeprecationLevel.WARNING,
    )
    var javaParameters: kotlin.Boolean
        get() = options.javaParameters.get()
        set(value) = options.javaParameters.set(value)

    private val kotlin.String?.jvmTargetCompilerOption get() = if (this != null) org.jetbrains.kotlin.gradle.dsl.JvmTarget.fromTarget(this) else null

    private val org.jetbrains.kotlin.gradle.dsl.JvmTarget.jvmTargetKotlinOption get() = this.target

    /**
     * The target version of the generated JVM bytecode (1.8 and 9–24), with 1.8 as the default.
     *
     * Possible values: "1.8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"
     *
     * Default value: JvmTarget.DEFAULT
     */
    @OptIn(org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi::class)
    @Deprecated(
        message = org.jetbrains.kotlin.gradle.dsl.KOTLIN_OPTIONS_DEPRECATION_MESSAGE,
        level = DeprecationLevel.WARNING,
    )
    var jvmTarget: kotlin.String
        get() = options.jvmTarget.get().jvmTargetKotlinOption
        set(value) = options.jvmTarget.set(value.jvmTargetCompilerOption)

    /**
     * Name of the generated '.kotlin_module' file.
     *
     * Default value: null
     */
    @OptIn(org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi::class)
    @Deprecated(
        message = org.jetbrains.kotlin.gradle.dsl.KOTLIN_OPTIONS_DEPRECATION_MESSAGE,
        level = DeprecationLevel.WARNING,
    )
    var moduleName: kotlin.String?
        get() = options.moduleName.orNull
        set(value) = options.moduleName.set(value)

    /**
     * Don't automatically include the Java runtime in the classpath.
     *
     * Default value: false
     */
    @OptIn(org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi::class)
    @Deprecated(
        message = org.jetbrains.kotlin.gradle.dsl.KOTLIN_OPTIONS_DEPRECATION_MESSAGE,
        level = DeprecationLevel.WARNING,
    )
    var noJdk: kotlin.Boolean
        get() = options.noJdk.get()
        set(value) = options.noJdk.set(value)
}
