[K2]: Support java-kotlin interop for @SubclassOptInRequired

Previously, if the parent class was in Java code and the subclass in
Kotlin, the opt-in usage error would not be reported for the subclass.
The problem was that the extractClassFromArgument function couldn't get
the class type from Java code. It was looking for a ConeClassLikeType,
but found a ConeFlexibleType instead.

#KT-60258 Fixed
This commit is contained in:
Anastasia.Nekrasova
2024-01-12 15:51:18 +02:00
committed by Space Team
parent 9fafbc1b07
commit 8156c91c47
8 changed files with 63 additions and 4 deletions
@@ -42259,6 +42259,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt");
}
@Test
@TestMetadata("JavaKotlinInterop.kt")
public void testJavaKotlinInterop() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/JavaKotlinInterop.kt");
}
@Test
@TestMetadata("NestedClasses.kt")
public void testNestedClasses() throws Exception {
@@ -42259,6 +42259,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt");
}
@Test
@TestMetadata("JavaKotlinInterop.kt")
public void testJavaKotlinInterop() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/JavaKotlinInterop.kt");
}
@Test
@TestMetadata("NestedClasses.kt")
public void testNestedClasses() throws Exception {