From 0038f41dcbc2fcc6149fe8a27e028f251ac4f542 Mon Sep 17 00:00:00 2001 From: Jiaxiang Chen Date: Mon, 13 Mar 2023 15:08:50 -0700 Subject: [PATCH] Revert "UPDATE_KOTLIN_VERSION: 1.9.0-dev-1777" This reverts commit f3043917af405590e9c8d9422047fb1e3aedfe6e. --- gradle.properties | 2 +- .../ksp/impl/symbol/kotlin/KSAnnotationImpl.kt | 10 ++++------ .../devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt | 5 ++--- .../symbol/kotlin/synthetic/KSSyntheticAnnotations.kt | 7 +++---- .../com/google/devtools/ksp/impl/symbol/kotlin/util.kt | 2 +- 5 files changed, 11 insertions(+), 15 deletions(-) diff --git a/gradle.properties b/gradle.properties index c2f7702a7a..6bd0b2c112 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # Copied from kotlinc org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx2200m -Dfile.encoding=UTF-8 -kotlinBaseVersion=1.9.0-dev-1777 +kotlinBaseVersion=1.9.0-dev-877 agpBaseVersion=7.0.0 intellijVersion=203.8084.24 junitVersion=4.12 diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt index 405021aa73..6681facc44 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt @@ -20,7 +20,7 @@ package com.google.devtools.ksp.impl.symbol.kotlin import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo +import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication import org.jetbrains.kotlin.analysis.api.annotations.KtConstantAnnotationValue import org.jetbrains.kotlin.analysis.api.annotations.KtNamedAnnotationValue import org.jetbrains.kotlin.analysis.api.base.KtConstantValue @@ -30,11 +30,9 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget.* import org.jetbrains.kotlin.psi.KtParameter -class KSAnnotationImpl private constructor( - private val annotationApplication: KtAnnotationApplicationWithArgumentsInfo -) : KSAnnotation { - companion object : KSObjectCache() { - fun getCached(annotationApplication: KtAnnotationApplicationWithArgumentsInfo) = +class KSAnnotationImpl private constructor(private val annotationApplication: KtAnnotationApplication) : KSAnnotation { + companion object : KSObjectCache() { + fun getCached(annotationApplication: KtAnnotationApplication) = cache.getOrPut(annotationApplication) { KSAnnotationImpl(annotationApplication) } } diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt index f45c3b6bd0..9077e364d2 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt @@ -19,7 +19,7 @@ package com.google.devtools.ksp.impl.symbol.kotlin import com.google.devtools.ksp.IdKeyPair import com.google.devtools.ksp.KSObjectCache -import com.google.devtools.ksp.impl.symbol.kotlin.synthetic.getExtensionFunctionTypeAnnotation +import com.google.devtools.ksp.impl.symbol.kotlin.synthetic.ExtensionFunctionTypeAnnotation import com.google.devtools.ksp.symbol.KSAnnotation import com.google.devtools.ksp.symbol.KSDeclaration import com.google.devtools.ksp.symbol.KSType @@ -27,7 +27,6 @@ import com.google.devtools.ksp.symbol.KSTypeArgument import com.google.devtools.ksp.symbol.Nullability import org.jetbrains.kotlin.analysis.api.KtStarTypeProjection import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList -import org.jetbrains.kotlin.analysis.api.annotations.annotations import org.jetbrains.kotlin.analysis.api.components.buildClassType import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.types.* @@ -76,7 +75,7 @@ class KSTypeImpl private constructor(internal val type: KtType) : KSType { override val annotations: Sequence get() = type.annotations() + if (type is KtFunctionalType && type.receiverType != null) { - sequenceOf(KSAnnotationImpl.getCached(getExtensionFunctionTypeAnnotation(type.annotations.size))) + sequenceOf(KSAnnotationImpl.getCached(ExtensionFunctionTypeAnnotation)) } else { emptySequence() } diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/synthetic/KSSyntheticAnnotations.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/synthetic/KSSyntheticAnnotations.kt index 4f46f5aeeb..76d0eadd7e 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/synthetic/KSSyntheticAnnotations.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/synthetic/KSSyntheticAnnotations.kt @@ -1,12 +1,11 @@ package com.google.devtools.ksp.impl.symbol.kotlin.synthetic -import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo +import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication import org.jetbrains.kotlin.name.ClassId -fun getExtensionFunctionTypeAnnotation(index: Int) = KtAnnotationApplicationWithArgumentsInfo( +val ExtensionFunctionTypeAnnotation = KtAnnotationApplication( ClassId.fromString(ExtensionFunctionType::class.qualifiedName!!), null, null, - emptyList(), - index + emptyList() ) diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt index c6e96f96c6..fd58197814 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/util.kt @@ -67,7 +67,7 @@ internal fun mapAAOrigin(ktSymbol: KtSymbol): Origin { } } -internal fun KtAnnotationApplicationWithArgumentsInfo.render(): String { +internal fun KtAnnotationApplication.render(): String { return buildString { append("@") if (this@render.useSiteTarget != null) {