From 7efc9dac9b9530c0bdbbb07eff552ea4c53290ea Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 10 Sep 2021 12:54:30 +0200 Subject: [PATCH] JVM IR: extract lowerings to a separate module Together with extracting codegen to a separate (unrelated) module in the future, hopefully it'll speed up the build of JVM IR by making it more parallel, and helping incremental compilation to avoid recompiling code that depends on lowerings because of `implementation` dependency. --- build.gradle.kts | 1 + compiler/cli/build.gradle.kts | 1 + compiler/ir/backend.jvm/build.gradle.kts | 1 - .../backend.jvm/entrypoint/build.gradle.kts | 1 + .../ir/backend.jvm/lower/build.gradle.kts | 20 ++++++++++++++ .../jetbrains/kotlin/backend/jvm/JvmLower.kt | 0 .../jvm/lower/AddContinuationLowering.kt | 0 .../AdditionalClassAnnotationLowering.kt | 0 .../backend/jvm/lower/AnnotationLowering.kt | 0 ...AnonymousObjectSuperConstructorLowering.kt | 0 .../backend/jvm/lower/AssertionLowering.kt | 0 .../backend/jvm/lower/BridgeLowering.kt | 2 +- .../BytecodeInliningPreparationLowering.kt | 0 .../jvm/lower/CollectionStubMethodLowering.kt | 0 .../kotlin/backend/jvm/lower/ConstLowering.kt | 0 .../backend/jvm/lower/EnumClassLowering.kt | 0 .../FakeInliningLocalVariablesLowering.kt | 0 .../backend/jvm/lower/FileClassLowering.kt | 0 .../lower/FunctionNVarargBridgeLowering.kt | 0 .../jvm/lower/FunctionReferenceLowering.kt | 0 .../jvm/lower/GenerateMultifileFacades.kt | 0 ...nheritedDefaultMethodsOnClassesLowering.kt | 0 .../lower/InlineCallableReferenceToLambda.kt | 0 .../backend/jvm/lower/InterfaceLowering.kt | 0 .../JvmAnnotationImplementationTransformer.kt | 0 ...vmArgumentNullabilityAssertionsLowering.kt | 0 .../lower/JvmDefaultArgumentStubGenerator.kt | 0 .../lower/JvmDefaultConstructorLowering.kt | 0 .../jvm/lower/JvmDefaultParameterInjector.kt | 0 .../jvm/lower/JvmInlineClassLowering.kt | 0 .../lower/JvmInventNamesForLocalClasses.kt | 0 .../jvm/lower/JvmLocalClassPopupLowering.kt | 0 .../jvm/lower/JvmOptimizationLowering.kt | 0 .../lower/JvmOverloadsAnnotationLowering.kt | 0 .../jvm/lower/JvmPropertiesLowering.kt | 0 .../lower/JvmSingleAbstractMethodLowering.kt | 0 .../JvmStandardLibraryBuiltInsLowering.kt | 0 .../jvm/lower/JvmStaticAnnotationLowering.kt | 0 .../lower/JvmStringConcatenationLowering.kt | 0 .../backend/jvm/lower/JvmTailrecLowering.kt | 0 .../jvm/lower/MainMethodGenerationLowering.kt | 0 ...kePropertyDelegateMethodsStaticLowering.kt | 0 .../jvm/lower/MappedEnumWhenLowering.kt | 0 .../MoveCompanionObjectFieldsLowering.kt | 2 +- .../backend/jvm/lower/ObjectClassLowering.kt | 0 .../jvm/lower/PolymorphicSignatureLowering.kt | 0 .../jvm/lower/ProcessOptionalAnnotations.kt | 0 .../PropertyReferenceDelegationLowering.kt | 0 .../jvm/lower/PropertyReferenceLowering.kt | 0 .../backend/jvm/lower/RenameFieldsLowering.kt | 0 .../jvm/lower/RepeatedAnnotationLowering.kt | 0 ...eplaceKFunctionInvokeWithFunctionInvoke.kt | 0 .../backend/jvm/lower/ResolveInlineCalls.kt | 0 .../backend/jvm/lower/ScriptLowering.kt | 2 +- .../backend/jvm/lower/SerializeIrPhase.kt | 0 .../jvm/lower/SingletonReferencesLowering.kt | 0 .../lower/StaticCallableReferenceLowering.kt | 0 .../lower/StaticDefaultFunctionLowering.kt | 0 .../jvm/lower/StaticInitializersLowering.kt | 0 .../jvm/lower/SuspendLambdaLowering.kt | 0 .../jvm/lower/SyntheticAccessorLowering.kt | 0 .../jvm/lower/TailCallOptimizationLowering.kt | 0 .../backend/jvm/lower/ToArrayLowering.kt | 0 .../TypeAliasAnnotationMethodsLowering.kt | 0 .../backend/jvm/lower/TypeOperatorLowering.kt | 0 .../backend/jvm/lower/VarargLowering.kt | 0 .../lower/indy/LambdaMetafactoryArguments.kt | 0 .../lower/indy/SamDelegatingLambdaBlock.kt | 0 .../kotlin/backend/jvm/lower/irValidation.kt | 0 .../kotlin/backend/jvm/InlineClassAbi.kt | 12 ++++----- .../kotlin/backend/jvm/JvmBackendContext.kt | 26 +++++++++---------- .../jvm/MemoizedInlineClassReplacements.kt | 2 +- .../backend/jvm/caches/BridgeLoweringCache.kt | 2 +- .../jvm/caches/CollectionStubComputer.kt | 2 +- .../backend/jvm/codegen/AnnotationCodegen.kt | 2 +- .../backend/jvm/codegen/CoroutineCodegen.kt | 10 +++---- .../jvm/codegen/MethodSignatureMapper.kt | 4 +-- .../jvm/ir/IrInlineReferenceLocator.kt | 2 +- compiler/tests-common-new/build.gradle.kts | 1 + settings.gradle | 2 ++ 80 files changed, 60 insertions(+), 35 deletions(-) create mode 100644 compiler/ir/backend.jvm/lower/build.gradle.kts rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/AnnotationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/AnonymousObjectSuperConstructorLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt (99%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/BytecodeInliningPreparationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/CollectionStubMethodLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ConstLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/FakeInliningLocalVariablesLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionNVarargBridgeLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionReferenceLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/InheritedDefaultMethodsOnClassesLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/InlineCallableReferenceToLambda.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmAnnotationImplementationTransformer.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArgumentNullabilityAssertionsLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultArgumentStubGenerator.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultConstructorLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultParameterInjector.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInventNamesForLocalClasses.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmLocalClassPopupLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOptimizationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOverloadsAnnotationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmPropertiesLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmSingleAbstractMethodLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStandardLibraryBuiltInsLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStringConcatenationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/JvmTailrecLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/MainMethodGenerationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/MakePropertyDelegateMethodsStaticLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/MappedEnumWhenLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt (99%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ObjectClassLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/PolymorphicSignatureLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ProcessOptionalAnnotations.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceDelegationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/RepeatedAnnotationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ReplaceKFunctionInvokeWithFunctionInvoke.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ResolveInlineCalls.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt (99%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/SerializeIrPhase.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonReferencesLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/StaticCallableReferenceLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/StaticDefaultFunctionLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/StaticInitializersLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/TailCallOptimizationLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/ToArrayLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/TypeAliasAnnotationMethodsLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/indy/SamDelegatingLambdaBlock.kt (100%) rename compiler/ir/backend.jvm/{ => lower}/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt (100%) diff --git a/build.gradle.kts b/build.gradle.kts index 76231af9530..8c88864ddc9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -238,6 +238,7 @@ val fe10CompilerModules = arrayOf( ":compiler:frontend:cfg", ":compiler:ir.psi2ir", ":compiler:backend.jvm", + ":compiler:backend.jvm.lower", ":compiler:backend.jvm:backend.jvm.entrypoint", ":compiler:backend.js", ":compiler:backend.wasm", diff --git a/compiler/cli/build.gradle.kts b/compiler/cli/build.gradle.kts index 1cf599e0ced..50d0faabd3c 100644 --- a/compiler/cli/build.gradle.kts +++ b/compiler/cli/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { compile(project(":compiler:backend-common")) compile(project(":compiler:backend")) compile(project(":compiler:backend.jvm")) + implementation(project(":compiler:backend.jvm.lower")) implementation(project(":compiler:backend.jvm:backend.jvm.entrypoint")) compile(project(":compiler:ir.backend.common")) compile(project(":compiler:light-classes")) diff --git a/compiler/ir/backend.jvm/build.gradle.kts b/compiler/ir/backend.jvm/build.gradle.kts index 1a1d5e670a0..1dfcd114ca3 100644 --- a/compiler/ir/backend.jvm/build.gradle.kts +++ b/compiler/ir/backend.jvm/build.gradle.kts @@ -11,7 +11,6 @@ dependencies { api(project(":compiler:backend.common.jvm")) compileOnly(project(":compiler:ir.tree.impl")) compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", "guava", rootProject = rootProject) } - compileOnly(intellijDep()) { includeJars("trove4j", rootProject = rootProject) } } sourceSets { diff --git a/compiler/ir/backend.jvm/entrypoint/build.gradle.kts b/compiler/ir/backend.jvm/entrypoint/build.gradle.kts index 342afe05a7d..867363d4895 100644 --- a/compiler/ir/backend.jvm/entrypoint/build.gradle.kts +++ b/compiler/ir/backend.jvm/entrypoint/build.gradle.kts @@ -8,6 +8,7 @@ dependencies { api(project(":compiler:backend.jvm")) api(project(":compiler:ir.tree.impl")) api(project(":compiler:ir.serialization.jvm")) + implementation(project(":compiler:backend.jvm.lower")) compileOnly(intellijCoreDep()) { includeJars("intellij-core", rootProject = rootProject) } } diff --git a/compiler/ir/backend.jvm/lower/build.gradle.kts b/compiler/ir/backend.jvm/lower/build.gradle.kts new file mode 100644 index 00000000000..157456841d7 --- /dev/null +++ b/compiler/ir/backend.jvm/lower/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + kotlin("jvm") + id("jps-compatible") +} + +dependencies { + api(project(":compiler:ir.tree")) + api(project(":compiler:ir.backend.common")) + api(project(":compiler:backend.jvm")) + implementation(project(":compiler:ir.tree.impl")) + compileOnly(intellijCoreDep()) { includeJars("intellij-core", rootProject = rootProject) } + compileOnly(intellijDep()) { includeJars("trove4j", rootProject = rootProject) } +} + +sourceSets { + "main" { + projectDefault() + } + "test" {} +} diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AddContinuationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AnnotationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AnnotationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AnnotationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AnnotationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AnonymousObjectSuperConstructorLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AnonymousObjectSuperConstructorLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AnonymousObjectSuperConstructorLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AnonymousObjectSuperConstructorLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/AssertionLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt similarity index 99% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt index eb0e0a940c0..73514ac78d3 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/BridgeLowering.kt @@ -275,7 +275,7 @@ internal class BridgeLowering(val context: JvmBackendContext) : FileLoweringPass // Deal with existing function that override special bridge methods. if (!irFunction.isFakeOverride && specialBridge.methodInfo != null) { - irFunction.rewriteSpecialMethodBody(targetMethod, specialBridge.signature, specialBridge.methodInfo) + irFunction.rewriteSpecialMethodBody(targetMethod, specialBridge.signature, specialBridge.methodInfo!!) } // For generic special bridge methods we need to generate bridges for generic overrides coming from Java or Kotlin interfaces. diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/BytecodeInliningPreparationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/BytecodeInliningPreparationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/BytecodeInliningPreparationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/BytecodeInliningPreparationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/CollectionStubMethodLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/CollectionStubMethodLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/CollectionStubMethodLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/CollectionStubMethodLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ConstLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ConstLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ConstLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ConstLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FakeInliningLocalVariablesLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FakeInliningLocalVariablesLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FakeInliningLocalVariablesLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FakeInliningLocalVariablesLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionNVarargBridgeLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionNVarargBridgeLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionNVarargBridgeLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionNVarargBridgeLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionReferenceLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionReferenceLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionReferenceLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/FunctionReferenceLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InheritedDefaultMethodsOnClassesLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/InheritedDefaultMethodsOnClassesLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InheritedDefaultMethodsOnClassesLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/InheritedDefaultMethodsOnClassesLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InlineCallableReferenceToLambda.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/InlineCallableReferenceToLambda.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InlineCallableReferenceToLambda.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/InlineCallableReferenceToLambda.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmAnnotationImplementationTransformer.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmAnnotationImplementationTransformer.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmAnnotationImplementationTransformer.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmAnnotationImplementationTransformer.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArgumentNullabilityAssertionsLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArgumentNullabilityAssertionsLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArgumentNullabilityAssertionsLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmArgumentNullabilityAssertionsLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultArgumentStubGenerator.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultArgumentStubGenerator.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultArgumentStubGenerator.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultArgumentStubGenerator.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultConstructorLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultConstructorLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultConstructorLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultConstructorLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultParameterInjector.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultParameterInjector.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultParameterInjector.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmDefaultParameterInjector.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInventNamesForLocalClasses.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInventNamesForLocalClasses.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInventNamesForLocalClasses.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInventNamesForLocalClasses.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmLocalClassPopupLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmLocalClassPopupLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmLocalClassPopupLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmLocalClassPopupLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOptimizationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOptimizationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOptimizationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOptimizationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOverloadsAnnotationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOverloadsAnnotationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOverloadsAnnotationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmOverloadsAnnotationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmPropertiesLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmPropertiesLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmPropertiesLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmPropertiesLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmSingleAbstractMethodLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmSingleAbstractMethodLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmSingleAbstractMethodLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmSingleAbstractMethodLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStandardLibraryBuiltInsLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStandardLibraryBuiltInsLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStandardLibraryBuiltInsLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStandardLibraryBuiltInsLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStringConcatenationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStringConcatenationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStringConcatenationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStringConcatenationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmTailrecLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmTailrecLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmTailrecLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmTailrecLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MainMethodGenerationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MainMethodGenerationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MainMethodGenerationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MainMethodGenerationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MakePropertyDelegateMethodsStaticLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MakePropertyDelegateMethodsStaticLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MakePropertyDelegateMethodsStaticLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MakePropertyDelegateMethodsStaticLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MappedEnumWhenLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MappedEnumWhenLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MappedEnumWhenLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MappedEnumWhenLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt similarity index 99% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt index 28d30dbc5a4..67dc6bf1ace 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt @@ -95,7 +95,7 @@ private class MoveOrCopyCompanionObjectFieldsLowering(val context: JvmBackendCon private val IrProperty.hasPublicVisibility: Boolean get() = !DescriptorVisibilities.isPrivate(visibility) && visibility != DescriptorVisibilities.PROTECTED - private fun makeAnonymousInitializerStatic(oldInitializer: IrAnonymousInitializer, newParent: IrClass) = + private fun makeAnonymousInitializerStatic(oldInitializer: IrAnonymousInitializer, newParent: IrClass): IrAnonymousInitializer = with(oldInitializer) { val oldParent = parentAsClass val newSymbol = IrAnonymousInitializerSymbolImpl(newParent.symbol) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ObjectClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ObjectClassLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ObjectClassLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ObjectClassLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/PolymorphicSignatureLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/PolymorphicSignatureLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/PolymorphicSignatureLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/PolymorphicSignatureLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ProcessOptionalAnnotations.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ProcessOptionalAnnotations.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ProcessOptionalAnnotations.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ProcessOptionalAnnotations.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceDelegationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceDelegationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceDelegationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceDelegationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/PropertyReferenceLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RepeatedAnnotationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/RepeatedAnnotationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RepeatedAnnotationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/RepeatedAnnotationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ReplaceKFunctionInvokeWithFunctionInvoke.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ReplaceKFunctionInvokeWithFunctionInvoke.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ReplaceKFunctionInvokeWithFunctionInvoke.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ReplaceKFunctionInvokeWithFunctionInvoke.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ResolveInlineCalls.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ResolveInlineCalls.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ResolveInlineCalls.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ResolveInlineCalls.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt similarity index 99% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt index b6c3c819b01..6ef2fc04666 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt @@ -243,7 +243,7 @@ private class ScriptsToClassesLowering(val context: JvmBackendContext) { private fun IrClass.addSimplePropertyFrom( from: IrValueDeclaration, - initializer: IrExpressionBodyImpl? = null + initializer: IrExpressionBody? = null ) { addProperty { updateFrom(from) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SerializeIrPhase.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SerializeIrPhase.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SerializeIrPhase.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SerializeIrPhase.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonReferencesLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonReferencesLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonReferencesLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonReferencesLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/StaticCallableReferenceLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/StaticCallableReferenceLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/StaticCallableReferenceLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/StaticCallableReferenceLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/StaticDefaultFunctionLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/StaticDefaultFunctionLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/StaticDefaultFunctionLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/StaticDefaultFunctionLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/StaticInitializersLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/StaticInitializersLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/StaticInitializersLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/StaticInitializersLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SuspendLambdaLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TailCallOptimizationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TailCallOptimizationLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TailCallOptimizationLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TailCallOptimizationLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ToArrayLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ToArrayLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ToArrayLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ToArrayLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeAliasAnnotationMethodsLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeAliasAnnotationMethodsLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeAliasAnnotationMethodsLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeAliasAnnotationMethodsLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/VarargLowering.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/indy/SamDelegatingLambdaBlock.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/SamDelegatingLambdaBlock.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/indy/SamDelegatingLambdaBlock.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/SamDelegatingLambdaBlock.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt similarity index 100% rename from compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt rename to compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/irValidation.kt diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/InlineClassAbi.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/InlineClassAbi.kt index 5bfab9a496c..c629ed23f7b 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/InlineClassAbi.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/InlineClassAbi.kt @@ -37,7 +37,7 @@ object InlineClassAbi { * Unwraps inline class types to their underlying representation. * Returns null if the type cannot be unboxed. */ - internal fun unboxType(type: IrType): IrType? { + fun unboxType(type: IrType): IrType? { val klass = type.classOrNull?.owner ?: return null val representation = klass.inlineClassRepresentation ?: return null @@ -118,24 +118,24 @@ object InlineClassAbi { get() = (this as IrSimpleFunction).correspondingPropertySymbol!!.owner.name } -internal val IrType.requiresMangling: Boolean +val IrType.requiresMangling: Boolean get() { val irClass = erasedUpperBound return irClass.isInline && irClass.fqNameWhenAvailable != StandardNames.RESULT_FQ_NAME } -internal val IrFunction.fullValueParameterList: List +val IrFunction.fullValueParameterList: List get() = listOfNotNull(extensionReceiverParameter) + valueParameters -internal val IrFunction.hasMangledParameters: Boolean +val IrFunction.hasMangledParameters: Boolean get() = dispatchReceiverParameter != null && parentAsClass.isInline || fullValueParameterList.any { it.type.requiresMangling } || (this is IrConstructor && constructedClass.isInline) -internal val IrFunction.hasMangledReturnType: Boolean +val IrFunction.hasMangledReturnType: Boolean get() = returnType.isInlineClassType() && parentClassOrNull?.isFileClass != true -internal val IrClass.inlineClassFieldName: Name +val IrClass.inlineClassFieldName: Name get() = (inlineClassRepresentation ?: error("Not an inline class: ${render()}")).underlyingPropertyName val IrFunction.isInlineClassFieldGetter: Boolean diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt index 7f0d1a1107a..6c4ff76acfc 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt @@ -65,8 +65,8 @@ class JvmBackendContext( val typeMapper = IrTypeMapper(this) val methodSignatureMapper = MethodSignatureMapper(this) - internal val innerClassesSupport = JvmInnerClassesSupport(irFactory) - internal val cachedDeclarations = JvmCachedDeclarations( + val innerClassesSupport = JvmInnerClassesSupport(irFactory) + val cachedDeclarations = JvmCachedDeclarations( this, generatorExtensions.cachedFields ) @@ -82,27 +82,27 @@ class JvmBackendContext( private val localClassType = ConcurrentHashMap() - internal fun getLocalClassType(container: IrAttributeContainer): Type? = + fun getLocalClassType(container: IrAttributeContainer): Type? = localClassType[container.attributeOwnerId] - internal fun putLocalClassType(container: IrAttributeContainer, value: Type) { + fun putLocalClassType(container: IrAttributeContainer, value: Type) { localClassType[container.attributeOwnerId] = value } - internal val isEnclosedInConstructor = ConcurrentHashMap.newKeySet() + val isEnclosedInConstructor = ConcurrentHashMap.newKeySet() internal val classCodegens = ConcurrentHashMap() val localDelegatedProperties = ConcurrentHashMap>() - internal val multifileFacadesToAdd = mutableMapOf>() + val multifileFacadesToAdd = mutableMapOf>() val multifileFacadeForPart = mutableMapOf() - internal val multifileFacadeClassForPart = mutableMapOf() - internal val multifileFacadeMemberToPartMember = mutableMapOf() + val multifileFacadeClassForPart = mutableMapOf() + val multifileFacadeMemberToPartMember = mutableMapOf() - internal val hiddenConstructors = ConcurrentHashMap() + val hiddenConstructors = ConcurrentHashMap() - internal val collectionStubComputer = CollectionStubComputer(this) + val collectionStubComputer = CollectionStubComputer(this) private val overridesWithoutStubs = HashMap>() @@ -113,8 +113,8 @@ class JvmBackendContext( fun getOverridesWithoutStubs(function: IrSimpleFunction): List = overridesWithoutStubs.getOrElse(function) { function.overriddenSymbols } - internal val bridgeLoweringCache = BridgeLoweringCache(this) - internal val functionsWithSpecialBridges: MutableSet = ConcurrentHashMap.newKeySet() + val bridgeLoweringCache = BridgeLoweringCache(this) + val functionsWithSpecialBridges: MutableSet = ConcurrentHashMap.newKeySet() override var inVerbosePhase: Boolean = false // TODO: needs parallelizing @@ -130,7 +130,7 @@ class JvmBackendContext( val inlineClassReplacements = MemoizedInlineClassReplacements(state.functionsWithInlineClassReturnTypesMangled, irFactory, this) - internal val continuationClassesVarsCountByType: MutableMap> = hashMapOf() + val continuationClassesVarsCountByType: MutableMap> = hashMapOf() val inlineMethodGenerationLock = Any() diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedInlineClassReplacements.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedInlineClassReplacements.kt index 805c6c8ebf7..67263564ba2 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedInlineClassReplacements.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedInlineClassReplacements.kt @@ -44,7 +44,7 @@ class MemoizedInlineClassReplacements( private val storageManager = LockBasedStorageManager("inline-class-replacements") private val propertyMap = ConcurrentHashMap() - internal val originalFunctionForStaticReplacement: MutableMap = ConcurrentHashMap() + val originalFunctionForStaticReplacement: MutableMap = ConcurrentHashMap() internal val originalFunctionForMethodReplacement: MutableMap = ConcurrentHashMap() /** diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/BridgeLoweringCache.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/BridgeLoweringCache.kt index 13ebb7b0605..cb03f005a9a 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/BridgeLoweringCache.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/BridgeLoweringCache.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.org.objectweb.asm.commons.Method import java.util.concurrent.ConcurrentHashMap -internal class BridgeLoweringCache(private val context: JvmBackendContext) { +class BridgeLoweringCache(private val context: JvmBackendContext) { private val specialBridgeMethods = SpecialBridgeMethods(context) // TODO: consider moving this cache out to the backend context and using it everywhere throughout the codegen. diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/CollectionStubComputer.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/CollectionStubComputer.kt index 767bcd4fc15..38dc114ceaa 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/CollectionStubComputer.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/caches/CollectionStubComputer.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.ir.util.isFromJava import org.jetbrains.kotlin.ir.util.parentAsClass import java.util.concurrent.ConcurrentHashMap -internal class CollectionStubComputer(val context: JvmBackendContext) { +class CollectionStubComputer(val context: JvmBackendContext) { private class LazyStubsForCollectionClass( override val readOnlyClass: IrClassSymbol, override val mutableClass: IrClassSymbol diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/AnnotationCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/AnnotationCodegen.kt index 952d821d1ae..baf06478bbe 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/AnnotationCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/AnnotationCodegen.kt @@ -450,7 +450,7 @@ private fun isBareTypeParameterWithNullableUpperBound(type: IrType): Boolean { private val RETENTION_PARAMETER_NAME = Name.identifier("value") -internal fun IrClass.getAnnotationRetention(): KotlinRetention? { +fun IrClass.getAnnotationRetention(): KotlinRetention? { val retentionArgument = getAnnotation(StandardNames.FqNames.retention)?.getValueArgument(RETENTION_PARAMETER_NAME) as? IrGetEnumValue ?: return null diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/CoroutineCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/CoroutineCodegen.kt index e1024ff616f..7e1e9c15a6e 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/CoroutineCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/CoroutineCodegen.kt @@ -108,7 +108,7 @@ internal fun IrFunction.continuationClass(): IrClass? = (body as? IrBlockBody)?.statements?.find { it is IrClass && it.origin == JvmLoweredDeclarationOrigin.CONTINUATION_CLASS } as IrClass? -internal fun IrFunction.continuationParameter(): IrValueParameter? = when { +fun IrFunction.continuationParameter(): IrValueParameter? = when { isInvokeSuspendOfLambda() || isInvokeSuspendForInlineOfLambda() -> dispatchReceiverParameter else -> valueParameters.singleOrNull { it.origin == JvmLoweredDeclarationOrigin.CONTINUATION_CLASS } } @@ -120,7 +120,7 @@ private fun IrFunction.isInvokeSuspendForInlineOfLambda(): Boolean = origin == JvmLoweredDeclarationOrigin.FOR_INLINE_STATE_MACHINE_TEMPLATE && parentAsClass.origin == JvmLoweredDeclarationOrigin.SUSPEND_LAMBDA -internal fun IrFunction.isInvokeSuspendOfContinuation(): Boolean = +fun IrFunction.isInvokeSuspendOfContinuation(): Boolean = name.asString() == INVOKE_SUSPEND_METHOD_NAME && parentAsClass.origin == JvmLoweredDeclarationOrigin.CONTINUATION_CLASS private fun IrFunction.isInvokeOfSuspendCallableReference(): Boolean = @@ -155,7 +155,7 @@ private val BRIDGE_ORIGINS = setOf( internal fun IrFunction.isNonBoxingSuspendDelegation(): Boolean = origin in BRIDGE_ORIGINS || isMultifileBridge() || isBridgeToSuspendImplMethod() -internal fun IrFunction.shouldContainSuspendMarkers(): Boolean = !isNonBoxingSuspendDelegation() && +fun IrFunction.shouldContainSuspendMarkers(): Boolean = !isNonBoxingSuspendDelegation() && // These functions also contain a single `suspend` tail call, but if it returns an unboxed inline class value, // the return of it should be checked for a suspension and potentially boxed to satisfy an interface. origin != IrDeclarationOrigin.DELEGATED_MEMBER && @@ -163,7 +163,7 @@ internal fun IrFunction.shouldContainSuspendMarkers(): Boolean = !isNonBoxingSus !isInvokeOfSuspendCallableReference() && !isStaticInlineClassReplacementDelegatingCall() -internal fun IrFunction.hasContinuation(): Boolean = isInvokeSuspendOfLambda() || +fun IrFunction.hasContinuation(): Boolean = isInvokeSuspendOfLambda() || isSuspend && shouldContainSuspendMarkers() && // These are templates for the inliner; the continuation is borrowed from the caller method. !isEffectivelyInlineOnly() && @@ -171,7 +171,7 @@ internal fun IrFunction.hasContinuation(): Boolean = isInvokeSuspendOfLambda() | origin != JvmLoweredDeclarationOrigin.FOR_INLINE_STATE_MACHINE_TEMPLATE && origin != JvmLoweredDeclarationOrigin.FOR_INLINE_STATE_MACHINE_TEMPLATE_CAPTURES_CROSSINLINE -internal fun IrExpression?.isReadOfCrossinline(): Boolean = when (this) { +fun IrExpression?.isReadOfCrossinline(): Boolean = when (this) { is IrGetValue -> (symbol.owner as? IrValueParameter)?.isCrossinline == true is IrGetField -> symbol.owner.origin == LocalDeclarationsLowering.DECLARATION_ORIGIN_FIELD_FOR_CROSSINLINE_CAPTURED_VALUE else -> false diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/MethodSignatureMapper.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/MethodSignatureMapper.kt index bc55ebf98b1..08eed1a3330 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/MethodSignatureMapper.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/MethodSignatureMapper.kt @@ -308,7 +308,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) { // Boxing is only necessary for 'remove(E): Boolean' of a MutableCollection implementation. // Otherwise this method might clash with 'remove(I): E' defined in the java.util.List JDK interface (mapped to kotlin 'removeAt'). - internal fun shouldBoxSingleValueParameterForSpecialCaseOfRemove(irFunction: IrFunction): Boolean { + fun shouldBoxSingleValueParameterForSpecialCaseOfRemove(irFunction: IrFunction): Boolean { if (irFunction !is IrSimpleFunction) return false if (irFunction.name.asString() != "remove" && !irFunction.name.asString().startsWith("remove-")) return false if (irFunction.isFromJava()) return false @@ -425,7 +425,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext) { return null } - internal fun mapCalleeToAsmMethod(function: IrSimpleFunction, isSuperCall: Boolean = false): Method = + fun mapCalleeToAsmMethod(function: IrSimpleFunction, isSuperCall: Boolean = false): Method = mapAsmMethod(findSuperDeclaration(function, isSuperCall)) // Copied from KotlinTypeMapper.findSuperDeclaration. diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/ir/IrInlineReferenceLocator.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/ir/IrInlineReferenceLocator.kt index 246d685b5c6..31a55dd299f 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/ir/IrInlineReferenceLocator.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/ir/IrInlineReferenceLocator.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.ir.expressions.IrFunctionAccessExpression import org.jetbrains.kotlin.ir.expressions.IrFunctionReference import org.jetbrains.kotlin.ir.visitors.IrElementVisitor -internal open class IrInlineReferenceLocator(private val context: JvmBackendContext) : IrElementVisitor { +open class IrInlineReferenceLocator(private val context: JvmBackendContext) : IrElementVisitor { override fun visitElement(element: IrElement, data: IrDeclaration?) { element.acceptChildren(this, data) } diff --git a/compiler/tests-common-new/build.gradle.kts b/compiler/tests-common-new/build.gradle.kts index 71751c43f44..265945e286b 100644 --- a/compiler/tests-common-new/build.gradle.kts +++ b/compiler/tests-common-new/build.gradle.kts @@ -9,6 +9,7 @@ dependencies { testApi(project(":compiler:fir:entrypoint")) testApi(project(":compiler:cli")) testImplementation(project(":compiler:ir.tree.impl")) + testImplementation(project(":compiler:backend.jvm.lower")) testImplementation(project(":compiler:backend.jvm:backend.jvm.entrypoint")) testImplementation(intellijCoreDep()) { includeJars("intellij-core") } diff --git a/settings.gradle b/settings.gradle index feb81abb0e9..890845cba6f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -116,6 +116,7 @@ include ":benchmarks", ":compiler:backend.js", ":compiler:backend.wasm", ":compiler:backend.jvm", + ":compiler:backend.jvm.lower", ":compiler:backend.jvm:backend.jvm.entrypoint", ":compiler:backend-common", ":compiler:backend", @@ -538,6 +539,7 @@ project(':compiler:ir.backend.common').projectDir = "$rootDir/compiler/ir/backen 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 +project(':compiler:backend.jvm.lower').projectDir = "$rootDir/compiler/ir/backend.jvm/lower" as File project(':compiler:backend.jvm:backend.jvm.entrypoint').projectDir = "$rootDir/compiler/ir/backend.jvm/entrypoint" as File project(':compiler:ir.serialization.common').projectDir = "$rootDir/compiler/ir/serialization.common" as File project(':compiler:ir.serialization.jvm').projectDir = "$rootDir/compiler/ir/serialization.jvm" as File