Skip to content

Commit

Permalink
UPDATE_KOTLIN_VERSION: 1.9.0-dev-1777
Browse files Browse the repository at this point in the history
  • Loading branch information
neetopia committed Feb 20, 2023
1 parent bfa873f commit f304391
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 11 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -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-877
kotlinBaseVersion=1.9.0-dev-1777
agpBaseVersion=7.0.0
intellijVersion=203.8084.24
junitVersion=4.12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo
import org.jetbrains.kotlin.analysis.api.annotations.KtConstantAnnotationValue
import org.jetbrains.kotlin.analysis.api.annotations.KtNamedAnnotationValue
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
Expand All @@ -30,9 +30,11 @@ 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: KtAnnotationApplication) : KSAnnotation {
companion object : KSObjectCache<KtAnnotationApplication, KSAnnotationImpl>() {
fun getCached(annotationApplication: KtAnnotationApplication) =
class KSAnnotationImpl private constructor(
private val annotationApplication: KtAnnotationApplicationWithArgumentsInfo
) : KSAnnotation {
companion object : KSObjectCache<KtAnnotationApplicationWithArgumentsInfo, KSAnnotationImpl>() {
fun getCached(annotationApplication: KtAnnotationApplicationWithArgumentsInfo) =
cache.getOrPut(annotationApplication) { KSAnnotationImpl(annotationApplication) }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ 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.ExtensionFunctionTypeAnnotation
import com.google.devtools.ksp.impl.symbol.kotlin.synthetic.getExtensionFunctionTypeAnnotation
import com.google.devtools.ksp.symbol.KSAnnotation
import com.google.devtools.ksp.symbol.KSDeclaration
import com.google.devtools.ksp.symbol.KSType
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.*
Expand Down Expand Up @@ -75,7 +76,7 @@ class KSTypeImpl private constructor(internal val type: KtType) : KSType {
override val annotations: Sequence<KSAnnotation>
get() = type.annotations() +
if (type is KtFunctionalType && type.receiverType != null) {
sequenceOf(KSAnnotationImpl.getCached(ExtensionFunctionTypeAnnotation))
sequenceOf(KSAnnotationImpl.getCached(getExtensionFunctionTypeAnnotation(type.annotations.size)))
} else {
emptySequence<KSAnnotation>()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package com.google.devtools.ksp.impl.symbol.kotlin.synthetic

import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo
import org.jetbrains.kotlin.name.ClassId

val ExtensionFunctionTypeAnnotation = KtAnnotationApplication(
fun getExtensionFunctionTypeAnnotation(index: Int) = KtAnnotationApplicationWithArgumentsInfo(
ClassId.fromString(ExtensionFunctionType::class.qualifiedName!!),
null,
null,
emptyList()
emptyList(),
index
)
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ internal fun mapAAOrigin(ktSymbol: KtSymbol): Origin {
}
}

internal fun KtAnnotationApplication.render(): String {
internal fun KtAnnotationApplicationWithArgumentsInfo.render(): String {
return buildString {
append("@")
if (this@render.useSiteTarget != null) {
Expand Down

0 comments on commit f304391

Please sign in to comment.