diff options
author | Matthew Gharrity <gharrma@google.com> | 2023-04-05 09:55:50 -0700 |
---|---|---|
committer | Matthew Gharrity <gharrma@google.com> | 2023-04-17 20:29:04 +0000 |
commit | d93acefd11943c9fbdb85a1374ce141cc57fb2f6 (patch) | |
tree | 306234b4b92dab486b4aad75c8e568093acac074 | |
parent | 276946da49ab877021800e78aaeb680cb2baba95 (diff) | |
download | base-d93acefd11943c9fbdb85a1374ce141cc57fb2f6.tar.gz |
Adapt to Kotlin 1.8.20
Note: K2 code paths are removed instead of adapted, since K2 is
disabled in Giraffe anyway.
Bug: 277382383
Change-Id: Icddf17ba2fbb0a39edd7d45828a3c07f92e52fe4
-rw-r--r-- | lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/InteroperabilityDetector.kt | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/InteroperabilityDetector.kt b/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/InteroperabilityDetector.kt index 2deba5e18a..9b5ec82298 100644 --- a/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/InteroperabilityDetector.kt +++ b/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/InteroperabilityDetector.kt @@ -44,8 +44,6 @@ import com.intellij.psi.PsiPrimitiveType import com.intellij.psi.PsiType import com.intellij.psi.PsiTypeParameter import kotlin.reflect.full.declaredMemberProperties -import org.jetbrains.kotlin.analysis.api.KtStarProjectionTypeArgument -import org.jetbrains.kotlin.analysis.api.KtTypeArgument import org.jetbrains.kotlin.analysis.api.analyze import org.jetbrains.kotlin.analysis.api.types.KtDynamicType import org.jetbrains.kotlin.analysis.api.types.KtFlexibleType @@ -327,34 +325,8 @@ class InteroperabilityDetector : Detector(), SourceCodeScanner { // Analysis API private fun KtType.isFlexibleRecursive(): Boolean { - if (this is KtFlexibleType) return true - val arguments = (this as? KtNonErrorClassType)?.ownTypeArguments ?: return false - return arguments.any { - // TODO: we won't need this typecast once studio-sdk moves to kotlinc 1.8.20-Beta or stable. - it is KtTypeArgument && - it !is KtStarProjectionTypeArgument && - it.type?.isFlexibleRecursive() == true - } - } - - // TODO: we won't need this extra reflection workaround once studio-sdk moves to kotlinc - // 1.8.20-Beta or stable. - private val KtNonErrorClassType.ownTypeArguments: List<*>? - get() { - val klass = KtNonErrorClassType::class - val properties = klass.declaredMemberProperties - properties - .find { it.name == "ownTypeArguments" } - ?.let { - return it.get(this) as? List<*> - } - properties - .find { it.name == "typeArguments" } - ?.let { - return it.get(this) as? List<*> - } - return emptyList<KtTypeArgument>() - } + error("K2 not supported in Android Studio Flamingo") + } override fun visitField(node: UField) {} |