Skip to content

Commit 76bf45d

Browse files
ting-yuanKSP Auto Pick
authored and
KSP Auto Pick
committed
Make originalAnnotations lazy
Otherwise all annotations are resolved unconditionally when we index KSFiles. (cherry picked from commit 1884e53)
1 parent e34a635 commit 76bf45d

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/AbstractKSDeclarationImpl.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,12 @@ abstract class AbstractKSDeclarationImpl(val ktDeclarationSymbol: KtDeclarationS
119119
override val docString: String?
120120
get() = ktDeclarationSymbol.toDocString()
121121

122-
internal val originalAnnotations = if (ktDeclarationSymbol.psi is KtElement || ktDeclarationSymbol.psi == null) {
123-
ktDeclarationSymbol.annotations(this)
124-
} else {
125-
(ktDeclarationSymbol.psi as PsiJvmModifiersOwner)
126-
.annotations.map { KSAnnotationJavaImpl.getCached(it, this) }.asSequence()
122+
internal val originalAnnotations: Sequence<KSAnnotation> by lazy {
123+
if (ktDeclarationSymbol.psi is KtElement || ktDeclarationSymbol.psi == null) {
124+
ktDeclarationSymbol.annotations(this)
125+
} else {
126+
(ktDeclarationSymbol.psi as PsiJvmModifiersOwner)
127+
.annotations.map { KSAnnotationJavaImpl.getCached(it, this) }.asSequence()
128+
}
127129
}
128130
}

kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSPropertyAccessorImpl.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ abstract class KSPropertyAccessorImpl(
4343
.plus(findAnnotationFromUseSiteTarget())
4444
}
4545

46-
internal val originalAnnotations = ktPropertyAccessorSymbol.annotations(this)
46+
internal val originalAnnotations: Sequence<KSAnnotation> by lazy {
47+
ktPropertyAccessorSymbol.annotations(this)
48+
}
4749

4850
override val location: Location by lazy {
4951
ktPropertyAccessorSymbol.psi?.toLocation() ?: NonExistLocation

0 commit comments

Comments
 (0)