[FE, IR] Don't check SOURCE annotations if actual declaration has no source

^KT-58551
This commit is contained in:
Roman Efremov
2023-06-23 14:43:29 +02:00
committed by Space Team
parent 59f1a0dd8e
commit 234f453173
13 changed files with 135 additions and 10 deletions
@@ -0,0 +1,25 @@
// WITH_STDLIB
// DIAGNOSTICS: -ACTUAL_TYPEALIAS_TO_SPECIAL_ANNOTATION
// MODULE: m1-common
// FILE: common.kt
@Retention(AnnotationRetention.SOURCE)
annotation class Ann
@Ann
expect class SourceAvailable {
@Ann
fun foo()
}
@Ann
expect annotation class FromLib
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
class SourceAvailableImpl {
fun foo() {}
}
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT, ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>actual typealias <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>SourceAvailable<!> = SourceAvailableImpl<!>
actual typealias FromLib = kotlin.SinceKotlin
@@ -0,0 +1,25 @@
// WITH_STDLIB
// DIAGNOSTICS: -ACTUAL_TYPEALIAS_TO_SPECIAL_ANNOTATION
// MODULE: m1-common
// FILE: common.kt
@Retention(AnnotationRetention.SOURCE)
annotation class Ann
@Ann
expect class SourceAvailable {
@Ann
fun foo()
}
@Ann
expect annotation class FromLib
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
class SourceAvailableImpl {
fun foo() {}
}
actual typealias <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>SourceAvailable<!> = SourceAvailableImpl
actual typealias FromLib = kotlin.SinceKotlin