diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java index 6b73ebeac5d..5fe6a72df97 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java @@ -35211,6 +35211,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java index a9b7f50433e..b8f040d673b 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java @@ -35211,6 +35211,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt index 85e2f589bb5..811dbf68956 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt @@ -41,6 +41,8 @@ class Fir2IrCommonMemberStorage( val constructorCache: ConcurrentHashMap = ConcurrentHashMap() + val fieldCache: ConcurrentHashMap = ConcurrentHashMap() + val propertyCache: ConcurrentHashMap = ConcurrentHashMap() val getterForPropertyCache: ConcurrentHashMap = ConcurrentHashMap() val setterForPropertyCache: ConcurrentHashMap = ConcurrentHashMap() diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index b6661b8ed43..d428fba2201 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -166,7 +166,7 @@ class Fir2IrDeclarationStorage( private val delegatedReverseCache: ConcurrentHashMap = ConcurrentHashMap() - private val fieldCache: ConcurrentHashMap = ConcurrentHashMap() + private val fieldCache: ConcurrentHashMap = commonMemberStorage.fieldCache private data class FieldStaticOverrideKey(val lookupTag: ConeClassLikeLookupTag, val name: Name) diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index d8b344ecf13..598c7755cf3 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -34792,6 +34792,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java index c25d7ff3186..d46523d8818 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java @@ -34792,6 +34792,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index a0c5ea0cee7..37c9821432d 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -34792,6 +34792,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt b/compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt new file mode 100644 index 00000000000..76650457c6d --- /dev/null +++ b/compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt @@ -0,0 +1,23 @@ +// TARGET_BACKEND: JVM_IR +// LANGUAGE: +MultiPlatformProjects +// FULL_JDK +// ISSUE: KT-63574 + +// MODULE: commonJvm +// FILE: common.kt +import java.nio.ByteOrder + +fun foo(): String = ByteOrder.LITTLE_ENDIAN.toString() + +// MODULE: platformJvm()()(commonJvm) +// FILE: platform.kt +import java.nio.ByteOrder + +fun bar(): String = ByteOrder.LITTLE_ENDIAN.toString() + +fun box(): String { + val expected = "LITTLE_ENDIAN" + if (foo() != expected) return "Fail 1" + if (bar() != expected) return "Fail 2" + return "OK" +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 645aa906c26..4aa8db51ac8 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -34792,6 +34792,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index b149d4c3229..2831e8f2ecd 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -34792,6 +34792,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @Test + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 713e7fae102..3b7da5aedcb 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -29667,6 +29667,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/multiplatform/k2/jvmDeclarationsUpdatedMembersInCommonModule.kt"); } + @TestMetadata("staticjavaFieldInCommonCode.kt") + public void testStaticjavaFieldInCommonCode() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/staticjavaFieldInCommonCode.kt"); + } + @TestMetadata("compiler/testData/codegen/box/multiplatform/k2/annotations") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)