summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Gharrity <gharrma@google.com>2023-04-05 09:55:50 -0700
committerMatthew Gharrity <gharrma@google.com>2023-04-17 20:29:04 +0000
commitd93acefd11943c9fbdb85a1374ce141cc57fb2f6 (patch)
tree306234b4b92dab486b4aad75c8e568093acac074
parent276946da49ab877021800e78aaeb680cb2baba95 (diff)
downloadbase-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.kt32
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) {}