[FE] Add test for intrinsic const evaluation in KMP annotation matching

^KT-58551
This commit is contained in:
Roman Efremov
2023-06-23 16:07:48 +02:00
committed by Space Team
parent 66824435b5
commit 1dcdcee452
5 changed files with 62 additions and 0 deletions
@@ -268,6 +268,12 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
runTest("compiler/testData/diagnostics/tests/multiplatform/annotationMatching/floatNumbersComparison.kt");
}
@Test
@TestMetadata("instrinsicConstEvaluation.kt")
public void testInstrinsicConstEvaluation() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/annotationMatching/instrinsicConstEvaluation.kt");
}
@Test
@TestMetadata("kclassArgWithExpectClass.kt")
public void testKclassArgWithExpectClass() throws Exception {
@@ -268,6 +268,12 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
runTest("compiler/testData/diagnostics/tests/multiplatform/annotationMatching/floatNumbersComparison.kt");
}
@Test
@TestMetadata("instrinsicConstEvaluation.kt")
public void testInstrinsicConstEvaluation() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/annotationMatching/instrinsicConstEvaluation.kt");
}
@Test
@TestMetadata("kclassArgWithExpectClass.kt")
public void testKclassArgWithExpectClass() throws Exception {
@@ -0,0 +1,22 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// MODULE: m1-common
// FILE: common.kt
enum class MyEnum {
FOO
}
annotation class Ann(val p: String)
@Ann("FOO")
expect fun matching()
@Ann("not FOO")
expect fun nonMatching()
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
@Ann(MyEnum.FOO.name)
actual fun matching() {}
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>@Ann(MyEnum.FOO.name)
actual fun nonMatching() {}<!>
@@ -0,0 +1,22 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// MODULE: m1-common
// FILE: common.kt
enum class MyEnum {
FOO
}
annotation class Ann(val p: String)
@Ann("FOO")
expect fun matching()
@Ann("not FOO")
expect fun nonMatching()
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>MyEnum.FOO.name<!>)
actual fun <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>matching<!>() {}
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>MyEnum.FOO.name<!>)
actual fun <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>nonMatching<!>() {}
@@ -22813,6 +22813,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/multiplatform/annotationMatching/floatNumbersComparison.kt");
}
@Test
@TestMetadata("instrinsicConstEvaluation.kt")
public void testInstrinsicConstEvaluation() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/annotationMatching/instrinsicConstEvaluation.kt");
}
@Test
@TestMetadata("kclassArgWithExpectClass.kt")
public void testKclassArgWithExpectClass() throws Exception {