// WITH_STDLIB open class Arguments { @GradleOption( value = DefaultValue.BOOLEAN_FALSE_DEFAULT, gradleInputType = GradleInputTypes.INPUT, ) val useK2: Boolean by lazy { false } } class JvmArguments : Arguments() { @GradleOption( value = DefaultValue.BOOLEAN_FALSE_DEFAULT, gradleInputType = GradleInputTypes.INPUT, ) val specific: Boolean by lazy { true } } @Retention(AnnotationRetention.RUNTIME) annotation class GradleOption( val value: DefaultValue, val gradleInputType: GradleInputTypes ) enum class GradleInputTypes( val typeAsString: String ) { INPUT("org.gradle.api.tasks.Input"), INTERNAL("org.gradle.api.tasks.Internal"); override fun toString(): String { return typeAsString } } enum class DefaultValue { BOOLEAN_FALSE_DEFAULT, BOOLEAN_TRUE_DEFAULT, } fun box(): String { return "OK" }