diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt index 103d46d71e3..4e4f4466193 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt @@ -287,10 +287,7 @@ class FirElementSerializer private constructor( } val nonSourceAnnotations = setter.nonSourceAnnotations(session, property) - if (setter !is FirDefaultPropertyAccessor || - nonSourceAnnotations.isNotEmpty() || - setter.visibility != property.visibility - ) { + if (Flags.IS_NOT_DEFAULT.get(accessorFlags)) { val setterLocal = local.createChildSerializer(setter) for (valueParameterDescriptor in setter.valueParameters) { val annotations = nonSourceAnnotations.filter { it.useSiteTarget == AnnotationUseSiteTarget.SETTER_PARAMETER } diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index d7375c44195..eea13f859c2 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -17787,6 +17787,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/fir/ExtensionAlias.kt"); } + @Test + @TestMetadata("externalInDependency.kt") + public void testExternalInDependency() throws Exception { + runTest("compiler/testData/codegen/box/fir/externalInDependency.kt"); + } + @Test @TestMetadata("FakeOverrideBuilder.kt") public void testFakeOverrideBuilder() throws Exception { diff --git a/compiler/testData/codegen/box/fir/externalInDependency.kt b/compiler/testData/codegen/box/fir/externalInDependency.kt new file mode 100644 index 00000000000..fe0cfc13a25 --- /dev/null +++ b/compiler/testData/codegen/box/fir/externalInDependency.kt @@ -0,0 +1,18 @@ +// TARGET_BACKEND: JVM_IR + +// MODULE: m1 +// FILE: f1.kt + +object O { + var prop: String + external get + external set +} + +// MODULE: m2(m1) +// FILE: f2.kt + +fun box(): String { + O.hashCode() // Necessary to deserialize O + 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 c3d7161ad35..b35b57d76c9 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 @@ -17787,6 +17787,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/fir/ExtensionAlias.kt"); } + @Test + @TestMetadata("externalInDependency.kt") + public void testExternalInDependency() throws Exception { + runTest("compiler/testData/codegen/box/fir/externalInDependency.kt"); + } + @Test @TestMetadata("FakeOverrideBuilder.kt") public void testFakeOverrideBuilder() throws Exception {