diff --git a/.space/CODEOWNERS b/.space/CODEOWNERS index 14a2926cc9b..d83a85bd362 100644 --- a/.space/CODEOWNERS +++ b/.space/CODEOWNERS @@ -77,6 +77,7 @@ /compiler/ir/backend.js/ "Kotlin JS" /compiler/ir/backend.jvm/ "Kotlin JVM" /compiler/ir/backend.wasm/ "Kotlin Wasm" +/compiler/ir/ir.actualization/ "Kotlin Compiler Core" "Kotlin Common Backend" /compiler/ir/ir.interpreter/ "Kotlin Common Backend" /compiler/ir/ir.ir2cfg/ Mikhail.Glukhikh /compiler/ir/ir.psi2ir/ "Kotlin JVM" diff --git a/build.gradle.kts b/build.gradle.kts index bba299e9fe1..56320019c3f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -116,6 +116,7 @@ val irCompilerModules = arrayOf( ":compiler:ir.serialization.native", ":compiler:ir.objcinterop", ":compiler:ir.backend.common", + ":compiler:ir.actualization", ":compiler:ir.interpreter", ":wasm:wasm.ir" ).also { extra["irCompilerModules"] = it } @@ -126,6 +127,7 @@ val irCompilerModulesForIDE = arrayOf( ":compiler:ir.serialization.jvm", ":compiler:ir.serialization.js", // used in IJ android plugin in `ComposeIrGenerationExtension` ":compiler:ir.backend.common", + ":compiler:ir.actualization", ":compiler:ir.interpreter", ":compiler:ir.objcinterop", ).also { extra["irCompilerModulesForIDE"] = it } diff --git a/compiler/fir/entrypoint/build.gradle.kts b/compiler/fir/entrypoint/build.gradle.kts index 115fdbdbf31..27b9362e98a 100644 --- a/compiler/fir/entrypoint/build.gradle.kts +++ b/compiler/fir/entrypoint/build.gradle.kts @@ -16,6 +16,7 @@ dependencies { api(project(":compiler:fir:checkers:checkers.native")) api(project(":compiler:fir:checkers:checkers.wasm")) api(project(":js:js.frontend")) + api(project(":compiler:ir.actualization")) implementation(project(":core:compiler.common.native")) implementation(project(":compiler:fir:resolve")) diff --git a/compiler/fir/fir2ir/build.gradle.kts b/compiler/fir/fir2ir/build.gradle.kts index 670e310fa14..06ffcfd305a 100644 --- a/compiler/fir/fir2ir/build.gradle.kts +++ b/compiler/fir/fir2ir/build.gradle.kts @@ -15,6 +15,7 @@ dependencies { compileOnly(project(":compiler:fir:tree")) compileOnly(project(":compiler:ir.tree")) compileOnly(project(":compiler:ir.backend.common")) + compileOnly(project(":compiler:ir.actualization")) compileOnly(project(":compiler:ir.serialization.common")) compileOnly(project(":compiler:fir:fir-serialization")) compileOnly(project(":compiler:fir:fir-deserialization")) diff --git a/compiler/fir/fir2ir/jvm-backend/build.gradle.kts b/compiler/fir/fir2ir/jvm-backend/build.gradle.kts index e9489c6e2ce..4b20aaae2e3 100644 --- a/compiler/fir/fir2ir/jvm-backend/build.gradle.kts +++ b/compiler/fir/fir2ir/jvm-backend/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { compileOnly(project(":compiler:ir.tree")) compileOnly(project(":compiler:backend")) compileOnly(project(":compiler:backend.jvm")) + implementation(project(":compiler:ir.actualization")) api(project(":compiler:ir.serialization.common")) compileOnly(intellijCore()) diff --git a/compiler/ir/ir.actualization/build.gradle.kts b/compiler/ir/ir.actualization/build.gradle.kts new file mode 100644 index 00000000000..38d487d3059 --- /dev/null +++ b/compiler/ir/ir.actualization/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + kotlin("jvm") + id("jps-compatible") +} + +dependencies { + api(project(":compiler:util")) + api(project(":compiler:backend-common")) + api(project(":compiler:ir.tree")) + api(project(":compiler:ir.backend.common")) + compileOnly(intellijCore()) +} + +optInToUnsafeDuringIrConstructionAPI() + +sourceSets { + "main" { projectDefault() } + "test" {} +} + diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/ActualFakeOverridesAdder.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/ActualFakeOverridesAdder.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/ActualFakeOverridesAdder.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/ActualFakeOverridesAdder.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualCollector.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualCollector.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualCollector.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualCollector.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualLinker.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualLinker.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualLinker.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/ExpectActualLinker.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverridesActualizer.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverridesActualizer.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FakeOverridesActualizer.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverridesActualizer.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizerUtils.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizerUtils.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizerUtils.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizerUtils.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualMatchingContext.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualMatchingContext.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualMatchingContext.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualMatchingContext.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationConflictingDefaultArgumentValueChecker.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationConflictingDefaultArgumentValueChecker.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationConflictingDefaultArgumentValueChecker.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationConflictingDefaultArgumentValueChecker.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationMatchingChecker.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationMatchingChecker.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationMatchingChecker.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualAnnotationMatchingChecker.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualChecker.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualChecker.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualChecker.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualChecker.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualCheckers.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualCheckers.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualCheckers.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/IrExpectActualCheckers.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/irConstExpressionValuesEqualityChecker.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/irConstExpressionValuesEqualityChecker.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/irConstExpressionValuesEqualityChecker.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/irConstExpressionValuesEqualityChecker.kt diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/irExpectActualCheckersUtils.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/irExpectActualCheckersUtils.kt similarity index 100% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/checker/irExpectActualCheckersUtils.kt rename to compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/checker/irExpectActualCheckersUtils.kt diff --git a/settings.gradle b/settings.gradle index 6def09cfc3e..8ea82230661 100644 --- a/settings.gradle +++ b/settings.gradle @@ -66,6 +66,7 @@ include ":benchmarks", ":compiler:ir.ir2cfg", ":compiler:ir.objcinterop", ":compiler:ir.backend.common", + ":compiler:ir.actualization", ":compiler:ir.serialization.common", ":compiler:ir.serialization.jvm", ":compiler:ir.serialization.js", @@ -668,6 +669,7 @@ project(':compiler:ir.psi2ir').projectDir = "$rootDir/compiler/ir/ir.psi2ir" as project(':compiler:ir.ir2cfg').projectDir = "$rootDir/compiler/ir/ir.ir2cfg" as File project(':compiler:ir.objcinterop').projectDir = "$rootDir/compiler/ir/ir.objcinterop" as File project(':compiler:ir.backend.common').projectDir = "$rootDir/compiler/ir/backend.common" as File +project(':compiler:ir.actualization').projectDir = "$rootDir/compiler/ir/ir.actualization" as File project(':compiler:backend.js').projectDir = "$rootDir/compiler/ir/backend.js" as File project(':compiler:backend.wasm').projectDir = "$rootDir/compiler/ir/backend.wasm" as File project(':compiler:backend.jvm').projectDir = "$rootDir/compiler/ir/backend.jvm" as File