diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt index 0f1d0a43090..c55e0537028 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt @@ -15,7 +15,9 @@ import org.gradle.api.artifacts.ExternalDependency import org.gradle.api.attributes.Usage import org.gradle.api.file.FileCollection import org.gradle.api.provider.Provider -import org.gradle.api.tasks.* +import org.gradle.api.tasks.SourceSet +import org.gradle.api.tasks.TaskDependency +import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.compile.AbstractCompile import org.gradle.api.tasks.compile.JavaCompile import org.gradle.process.CommandLineArgumentProvider @@ -23,18 +25,15 @@ import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.isInfoAsWarnings import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.isKaptKeepKdocCommentsInStubs import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.isKaptVerbose -import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.isUseJvmIr import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.isUseK2 import org.jetbrains.kotlin.gradle.model.builder.KaptModelBuilder import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation import org.jetbrains.kotlin.gradle.tasks.* -import org.jetbrains.kotlin.gradle.tasks.configuration.* +import org.jetbrains.kotlin.gradle.tasks.configuration.KaptGenerateStubsConfig +import org.jetbrains.kotlin.gradle.tasks.configuration.KaptWithoutKotlincConfig import org.jetbrains.kotlin.gradle.utils.* -import org.jetbrains.kotlin.gradle.utils.createResolvable -import org.jetbrains.kotlin.gradle.utils.findResolvable -import org.jetbrains.kotlin.gradle.utils.whenEvaluated import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly import java.io.ByteArrayOutputStream import java.io.File @@ -124,10 +123,6 @@ class Kapt3GradleSubplugin @Inject internal constructor(private val registry: To return getBooleanOptionValue(BooleanOption.KAPT_KEEP_KDOC_COMMENTS_IN_STUBS) } - fun Project.isUseJvmIr(): Boolean { - return getBooleanOptionValue(BooleanOption.KAPT_USE_JVM_IR) - } - fun Project.isUseK2(): Boolean { return getBooleanOptionValue(BooleanOption.KAPT_USE_K2) } @@ -223,7 +218,6 @@ class Kapt3GradleSubplugin @Inject internal constructor(private val registry: To KAPT_INFO_AS_WARNINGS("kapt.info.as.warnings", false), KAPT_INCLUDE_COMPILE_CLASSPATH("kapt.include.compile.classpath", true), KAPT_KEEP_KDOC_COMMENTS_IN_STUBS("kapt.keep.kdoc.comments.in.stubs", true), - KAPT_USE_JVM_IR("kapt.use.jvm.ir", true), KAPT_USE_K2("kapt.use.k2", false), } } @@ -544,7 +538,6 @@ internal fun buildKaptSubpluginOptions( pluginOptions += SubpluginOption("keepKdocCommentsInStubs", "${project.isKaptKeepKdocCommentsInStubs()}") pluginOptions += SubpluginOption("showProcessorTimings", "${kaptExtension.showProcessorStats}") pluginOptions += SubpluginOption("detectMemoryLeaks", kaptExtension.detectMemoryLeaks) - pluginOptions += SubpluginOption("useJvmIr", "${project.isUseJvmIr()}") pluginOptions += SubpluginOption("useK2", "${project.isUseK2()}") pluginOptions += SubpluginOption("infoAsWarnings", "${project.isInfoAsWarnings()}") pluginOptions += FilesSubpluginOption("stubs", kaptStubsDir) diff --git a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt index 3f4a1a0be25..f94306e446c 100644 --- a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt +++ b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptOptions.kt @@ -129,7 +129,6 @@ enum class KaptFlag(val description: String, val defaultValue: Boolean = false) INCREMENTAL_APT("Incremental annotation processing (apt mode)"), STRIP_METADATA("Strip @Metadata annotations from stubs"), KEEP_KDOC_COMMENTS_IN_STUBS("Keep KDoc comments in stubs", defaultValue = true), - USE_JVM_IR("Use JVM IR backend", defaultValue = true), ; } diff --git a/plugins/kapt3/kapt3-cli/src/KaptCliOption.kt b/plugins/kapt3/kapt3-cli/src/KaptCliOption.kt index dec365e5e2e..f244f5e9181 100644 --- a/plugins/kapt3/kapt3-cli/src/KaptCliOption.kt +++ b/plugins/kapt3/kapt3-cli/src/KaptCliOption.kt @@ -214,13 +214,6 @@ enum class KaptCliOption( "Keep KDoc comments in stubs" ), - USE_JVM_IR( - "useJvmIr", - "true | false", - "Use JVM IR backend", - cliToolOption = CliToolOption("-Kapt-use-jvm-ir", FLAG) - ), - USE_K2( "useK2", "true | false", diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt index 8f900313d57..000bb979509 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil import org.jetbrains.kotlin.cli.common.output.writeAll import org.jetbrains.kotlin.codegen.ClassBuilderMode -import org.jetbrains.kotlin.codegen.DefaultCodegenFactory import org.jetbrains.kotlin.codegen.KotlinCodegenFacade import org.jetbrains.kotlin.codegen.OriginCollectingClassBuilderFactory import org.jetbrains.kotlin.codegen.state.GenerationState @@ -246,19 +245,15 @@ abstract class AbstractKapt3Extension( type = "java-production" ) - val isIrBackend = options.flags[KaptFlag.USE_JVM_IR] val generationState = GenerationState.Builder(project, builderFactory, module, bindingContext, configuration) .targetId(targetId) - .isIrBackend(isIrBackend) .build() val (classFilesCompilationTime) = measureTimeMillis { KotlinCodegenFacade.compileCorrectFiles( files, generationState, - if (isIrBackend) - JvmIrCodegenFactory(configuration, configuration[CLIConfigurationKeys.PHASE_CONFIG]) - else DefaultCodegenFactory + JvmIrCodegenFactory(configuration, configuration[CLIConfigurationKeys.PHASE_CONFIG]) ) } diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt index e5a393ee7e1..712c184c509 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt @@ -123,7 +123,6 @@ class Kapt3CommandLineProcessor : CommandLineProcessor { STRICT_MODE_OPTION -> setFlag(KaptFlag.STRICT, value) STRIP_METADATA_OPTION -> setFlag(KaptFlag.STRIP_METADATA, value) KEEP_KDOC_COMMENTS_IN_STUBS -> setFlag(KaptFlag.KEEP_KDOC_COMMENTS_IN_STUBS, value) - USE_JVM_IR -> setFlag(KaptFlag.USE_JVM_IR, value) USE_K2 -> {} SHOW_PROCESSOR_STATS -> setFlag(KaptFlag.SHOW_PROCESSOR_STATS, value) diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt index 2c8222cd1e3..85d48130b0e 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt @@ -123,8 +123,6 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati private val mutableBindings = mutableMapOf() - private val isIrBackend = kaptContext.generationState.isIrBackend - val bindings: Map get() = mutableBindings @@ -684,15 +682,11 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati val origin = kaptContext.origins[field] val descriptor = origin?.descriptor - val fieldAnnotations = when { - !isIrBackend && descriptor is PropertyDescriptor -> descriptor.backingField?.annotations - else -> descriptor?.annotations - } ?: Annotations.EMPTY - val modifiers = convertModifiers( containingClass, field.access, ElementKind.FIELD, packageFqName, - field.visibleAnnotations, field.invisibleAnnotations, fieldAnnotations + field.visibleAnnotations, field.invisibleAnnotations, + descriptor?.annotations ?: Annotations.EMPTY, ) val name = field.name diff --git a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/handlers/utils.kt b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/handlers/utils.kt index ac7c337062b..9ca49f4fa2f 100644 --- a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/handlers/utils.kt +++ b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/handlers/utils.kt @@ -14,23 +14,11 @@ import org.jetbrains.kotlin.load.java.JvmAnnotationNames import org.jetbrains.kotlin.test.Assertions import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.utils.withExtension -import org.jetbrains.kotlin.test.utils.withSuffixAndExtension fun Assertions.checkTxtAccordingToBackend(module: TestModule, actual: String, fileSuffix: String = "") { val testDataFile = module.files.first().originalFile - val txtFile = testDataFile.withExtension("$fileSuffix.txt") - val irTxtFile = testDataFile.withSuffixAndExtension("$fileSuffix.ir", ".txt") - val isIr = module.targetBackend?.isIR == true - val expectedFile = if (isIr && irTxtFile.exists()) { - irTxtFile - } else { - txtFile - } + val expectedFile = testDataFile.withExtension("$fileSuffix.txt") assertEqualsToFile(expectedFile, actual) - - if (isIr && txtFile.exists() && irTxtFile.exists() && txtFile.readText() == irTxtFile.readText()) { - fail { "JVM and JVM_IR golden files are identical. Remove $irTxtFile." } - } } private val KOTLIN_METADATA_REGEX = "@kotlin\\.Metadata\\(.*\\)".toRegex() diff --git a/plugins/kapt4/test/org/jetbrains/kotlin/kapt4/Kapt4Handler.kt b/plugins/kapt4/test/org/jetbrains/kotlin/kapt4/Kapt4Handler.kt index f969837141d..ec7f306b04c 100644 --- a/plugins/kapt4/test/org/jetbrains/kotlin/kapt4/Kapt4Handler.kt +++ b/plugins/kapt4/test/org/jetbrains/kotlin/kapt4/Kapt4Handler.kt @@ -160,19 +160,11 @@ internal class Kapt4Handler(testServices: TestServices) : AnalysisHandler