diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index 7f5a8438f6b..fe14cd537da 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -801,6 +801,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlightingEof.kt"); } + @Test + @TestMetadata("syntheticSet.kt") + public void testSyntheticSet() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticSet.kt"); + } + @Test @TestMetadata("tailRecBasic.kt") public void testTailRecBasic() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index 41d57926d7c..cff60a89c8e 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -801,6 +801,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlightingEof.kt"); } + @Test + @TestMetadata("syntheticSet.kt") + public void testSyntheticSet() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticSet.kt"); + } + @Test @TestMetadata("tailRecBasic.kt") public void testTailRecBasic() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index fe60f751364..32d59052859 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -801,6 +801,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlightingEof.kt"); } + @Test + @TestMetadata("syntheticSet.kt") + public void testSyntheticSet() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticSet.kt"); + } + @Test @TestMetadata("tailRecBasic.kt") public void testTailRecBasic() throws Exception { diff --git a/compiler/testData/diagnostics/tests/syntheticSet.fir.kt b/compiler/testData/diagnostics/tests/syntheticSet.fir.kt new file mode 100644 index 00000000000..73ceef2c0b8 --- /dev/null +++ b/compiler/testData/diagnostics/tests/syntheticSet.fir.kt @@ -0,0 +1,57 @@ +// FILE: Container.java + +public class Container { + + Wrapper w = null; + + public Wrapper getWrapper() { + return null; + } + + public void setWrapper(Wrapper wrapper) {} +} + +// FILE: Wrapper.java + +public class Wrapper { +} + +// FILE: test.kt + +fun foo(container: Container<*>, wrapper: Wrapper) { + container.w = wrapper + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun bar(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun baz(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper +} + +fun gau(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper +} + +fun dif(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper +} + +fun out(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun inn(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun generic(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} diff --git a/compiler/testData/diagnostics/tests/syntheticSet.kt b/compiler/testData/diagnostics/tests/syntheticSet.kt new file mode 100644 index 00000000000..3eb07ccd921 --- /dev/null +++ b/compiler/testData/diagnostics/tests/syntheticSet.kt @@ -0,0 +1,57 @@ +// FILE: Container.java + +public class Container { + + Wrapper w = null; + + public Wrapper getWrapper() { + return null; + } + + public void setWrapper(Wrapper wrapper) {} +} + +// FILE: Wrapper.java + +public class Wrapper { +} + +// FILE: test.kt + +fun foo(container: Container<*>, wrapper: Wrapper) { + container.w = wrapper + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun bar(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun baz(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper +} + +fun gau(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper +} + +fun dif(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper +} + +fun out(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun inn(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} + +fun generic(container: Container, wrapper: Wrapper) { + container.wrapper = wrapper + container.setWrapper(wrapper) +} diff --git a/compiler/testData/diagnostics/tests/syntheticSet.txt b/compiler/testData/diagnostics/tests/syntheticSet.txt new file mode 100644 index 00000000000..6e62b658582 --- /dev/null +++ b/compiler/testData/diagnostics/tests/syntheticSet.txt @@ -0,0 +1,27 @@ +package + +public fun bar(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun baz(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun dif(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun foo(/*0*/ container: Container<*>, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun gau(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun generic(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun inn(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit +public fun out(/*0*/ container: Container, /*1*/ wrapper: Wrapper): kotlin.Unit + +public open class Container { + public constructor Container() + public/*package*/ final var w: Wrapper! + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open fun getWrapper(): Wrapper! + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open fun setWrapper(/*0*/ wrapper: Wrapper!): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +public open class Wrapper { + public constructor Wrapper() + 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-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 7a8b0657b06..198708d46f9 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -801,6 +801,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlightingEof.kt"); } + @Test + @TestMetadata("syntheticSet.kt") + public void testSyntheticSet() throws Exception { + runTest("compiler/testData/diagnostics/tests/syntheticSet.kt"); + } + @Test @TestMetadata("tailRecBasic.kt") public void testTailRecBasic() throws Exception {