From 11f376ae84ce2747a8f024b166c5391799437a93 Mon Sep 17 00:00:00 2001 From: Nikita Bobko Date: Wed, 19 Apr 2023 12:56:30 +0200 Subject: [PATCH] 1/2 Covert FirUnsupportedSyntheticCallableReferenceChecker with more tests Review: https://jetbrains.team/p/kt/reviews/9677 I'm going to fix KT-58061 in the next commit. Firstly, let's cover FirUnsupportedSyntheticCallableReferenceChecker with more tests that already pass, but are related to KT-58061 problem. --- ...nosticCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...DiagnosticCompilerFE10TestDataTestGenerated.java | 6 ++++++ ...ightTreeOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../FirPsiOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ ...renceToKotlinPropertyViaIntermediateJavaClass.kt | 13 +++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++++ 6 files changed, 43 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 31f182f0fd0..91acca107c8 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -4341,6 +4341,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/parameterWithSubstitution.kt"); } + @Test + @TestMetadata("referenceToKotlinPropertyViaIntermediateJavaClass.kt") + public void testReferenceToKotlinPropertyViaIntermediateJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt"); + } + @Test @TestMetadata("syntheticProperties.kt") public void testSyntheticProperties() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index d414a431b46..c5db52a4fbc 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -4341,6 +4341,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/parameterWithSubstitution.kt"); } + @Test + @TestMetadata("referenceToKotlinPropertyViaIntermediateJavaClass.kt") + public void testReferenceToKotlinPropertyViaIntermediateJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt"); + } + @Test @TestMetadata("syntheticProperties.kt") public void testSyntheticProperties() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index b57a6aedabb..e02d1015352 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -4341,6 +4341,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/parameterWithSubstitution.kt"); } + @Test + @TestMetadata("referenceToKotlinPropertyViaIntermediateJavaClass.kt") + public void testReferenceToKotlinPropertyViaIntermediateJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt"); + } + @Test @TestMetadata("syntheticProperties.kt") public void testSyntheticProperties() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 9f1117861e7..2bb33abcfdb 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -4347,6 +4347,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/parameterWithSubstitution.kt"); } + @Test + @TestMetadata("referenceToKotlinPropertyViaIntermediateJavaClass.kt") + public void testReferenceToKotlinPropertyViaIntermediateJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt"); + } + @Test @TestMetadata("syntheticProperties.kt") public void testSyntheticProperties() throws Exception { diff --git a/compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt b/compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt new file mode 100644 index 00000000000..14c72f60f9b --- /dev/null +++ b/compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt @@ -0,0 +1,13 @@ +// !LANGUAGE: -ReferencesToSyntheticJavaProperties +// FIR_IDENTICAL + +// FILE: Foo.java +public class Foo extends Base { +} + +// FILE: Main.kt +open class Base { + open val foo: Int = 904 +} + +val prop = Foo::foo 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 14abb6e1063..20a04ab55ac 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 @@ -4347,6 +4347,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/parameterWithSubstitution.kt"); } + @Test + @TestMetadata("referenceToKotlinPropertyViaIntermediateJavaClass.kt") + public void testReferenceToKotlinPropertyViaIntermediateJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/callableReference/unsupported/referenceToKotlinPropertyViaIntermediateJavaClass.kt"); + } + @Test @TestMetadata("syntheticProperties.kt") public void testSyntheticProperties() throws Exception {