diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java index 1f91bb75257..c931931c296 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java @@ -462,7 +462,7 @@ public class DescriptorResolver { parameterDescriptors, returnType, Modality.FINAL, - Visibilities.PUBLIC // TODO: test + Visibilities.PUBLIC ); trace.record(BindingContext.DATA_CLASS_COPY_FUNCTION, classDescriptor, functionDescriptor); diff --git a/compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.kt b/compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.kt new file mode 100644 index 00000000000..d4e07be97da --- /dev/null +++ b/compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.kt @@ -0,0 +1,3 @@ +class Outer { + private data class Nested(val c: Int) +} diff --git a/compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.txt b/compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.txt new file mode 100644 index 00000000000..76730bf55a4 --- /dev/null +++ b/compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.txt @@ -0,0 +1,18 @@ +package + +internal final class Outer { + public constructor Outer() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + kotlin.data() private final class Nested { + public constructor Nested(/*0*/ c: kotlin.Int) + internal final val c: kotlin.Int + internal final /*synthesized*/ fun component1(): kotlin.Int + public final /*synthesized*/ fun copy(/*0*/ c: kotlin.Int = ...): Outer.Nested + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java index 3429033e0a2..7706b93b941 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -2282,6 +2282,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } + @TestMetadata("copyOfPrivateClass.kt") + public void testCopyOfPrivateClass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dataClasses/copyOfPrivateClass.kt"); + doTest(fileName); + } + @TestMetadata("dataClassOverrideConflict.kt") public void testDataClassOverrideConflict() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dataClasses/dataClassOverrideConflict.kt");