Commit f615da6c authored by Dmitry Timofeev's avatar Dmitry Timofeev Committed by intellij-monorepo-bot
Browse files

[kotlin] Refactoring: deprecated names in unnecessary @OptIn inspection

Replaced deprecated names of OptIn annotation sets with their new
counterpart.

Related compiler commit: c255da815f639d0dea92bbb73ad1557a2a6a2b35

^KTIJ-20550

GitOrigin-RevId: ceee982c0672d6a229ae258b86abbbe16f71b14d
parent 81097bc4
Branches unavailable Tags unavailable
No related merge requests found
Showing with 4 additions and 3 deletions
+4 -3
......@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.SINCE_KOTLIN_FQ_NAME
import org.jetbrains.kotlin.resolve.checkers.OptInNames
import org.jetbrains.kotlin.resolve.checkers.OptInNames.OPT_IN_FQ_NAMES
import org.jetbrains.kotlin.resolve.constants.ArrayValue
import org.jetbrains.kotlin.resolve.constants.KClassValue
import org.jetbrains.kotlin.resolve.constants.StringValue
......@@ -75,7 +76,7 @@ class UnnecessaryOptInAnnotationInspection : AbstractKotlinInspection() {
)
// Short names for `kotlin.OptIn` and `kotlin.UseExperimental` for faster comparison without name resolution
private val USE_EXPERIMENTAL_SHORT_NAMES = OptInNames.USE_EXPERIMENTAL_FQ_NAMES.map { it.shortName().asString() }.toSet()
private val OPT_IN_SHORT_NAMES = OPT_IN_FQ_NAMES.map { it.shortName().asString() }.toSet()
/**
* Main inspection visitor to traverse all annotation entries.
......@@ -84,7 +85,7 @@ class UnnecessaryOptInAnnotationInspection : AbstractKotlinInspection() {
val optInAliases = holder.file.safeAs<KtFile>()
?.aliasImportMap()
?.entries()
?.filter { it.value in USE_EXPERIMENTAL_SHORT_NAMES }
?.filter { it.value in OPT_IN_SHORT_NAMES }
?.mapNotNull { it.key }
?.toSet()
?: emptySet()
......@@ -92,7 +93,7 @@ class UnnecessaryOptInAnnotationInspection : AbstractKotlinInspection() {
return annotationEntryVisitor { annotationEntry ->
// Fast check if the annotation may be `@OptIn`/`@UseExperimental` or any of their import aliases
val entryShortName = annotationEntry.shortName?.asString()
if (entryShortName != null && entryShortName !in USE_EXPERIMENTAL_SHORT_NAMES && entryShortName !in optInAliases)
if (entryShortName != null && entryShortName !in OPT_IN_SHORT_NAMES && entryShortName !in optInAliases)
return@annotationEntryVisitor
// Resolve the candidate annotation entry. If it is an `@OptIn`/`@UseExperimental` annotation,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment