[FE] Add OptIn annotation to whitelist of annotation checker

It's valid to have `@OptIn` only on `expect` declaration.

^KT-61373
This commit is contained in:
Roman Efremov
2023-08-21 19:13:44 +02:00
committed by Space Team
parent 8bcd1f4efa
commit 673b4b4d52
3 changed files with 4 additions and 0 deletions
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.mpp.DeclarationSymbolMarker
import org.jetbrains.kotlin.mpp.TypeAliasSymbolMarker
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.StandardClassIds
import org.jetbrains.kotlin.resolve.checkers.OptInNames
import org.jetbrains.kotlin.resolve.multiplatform.ExpectActualAnnotationsIncompatibilityType as IncompatibilityType
object AbstractExpectActualAnnotationMatchChecker {
@@ -20,6 +21,7 @@ object AbstractExpectActualAnnotationMatchChecker {
StandardClassIds.Annotations.SinceKotlin,
StandardClassIds.Annotations.Suppress,
StandardClassIds.Annotations.WasExperimental,
OptInNames.OPT_IN_CLASS_ID,
)
class Incompatibility(
@@ -17,6 +17,7 @@ annotation class MyOptIn
@MyOptIn
@WasExperimental(MyOptIn::class)
@kotlin.internal.RequireKotlin(version = "1.8")
@OptIn(MyOptIn::class)
expect fun skippedAnnotationsOnExpectOnly()
// MODULE: m1-jvm()()(m1-common)
@@ -17,6 +17,7 @@ annotation class MyOptIn
@MyOptIn
@WasExperimental(MyOptIn::class)
@kotlin.internal.RequireKotlin(version = "1.8")
@OptIn(MyOptIn::class)
expect fun skippedAnnotationsOnExpectOnly()
// MODULE: m1-jvm()()(m1-common)