Analysis API: get rid of KtTypeAndAnnotations & add annotations for every type

This commit is contained in:
Ilya Kirillov
2021-11-18 14:50:13 +01:00
parent 83d2d2cfcf
commit a5a5ff39d6
101 changed files with 807 additions and 717 deletions
@@ -0,0 +1,25 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.analysis.api.impl.base.annotations
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.name.ClassId
class KtEmptyAnnotationsList(override val token: ValidityToken) : KtAnnotationsList() {
override val annotations: List<KtAnnotationApplication>
get() = withValidityAssertion { emptyList() }
override fun containsAnnotation(classId: ClassId): Boolean = withValidityAssertion { false }
override fun annotationsByClassId(classId: ClassId): List<KtAnnotationApplication> =
withValidityAssertion { emptyList() }
override val annotationClassIds: Collection<ClassId>
get() = withValidityAssertion { emptyList() }
}
@@ -51,7 +51,7 @@ abstract class AbstractOverriddenDeclarationProviderTest(
symbol.valueParameters.forEachIndexed { index, parameter ->
append(parameter.name.identifier)
append(": ")
append(parameter.annotatedType.type.render(KtTypeRendererOptions.SHORT_NAMES))
append(parameter.type.render(KtTypeRendererOptions.SHORT_NAMES))
if (index != symbol.valueParameters.lastIndex) {
append(", ")
}
@@ -59,7 +59,7 @@ abstract class AbstractOverriddenDeclarationProviderTest(
append(")")
}
append(": ")
append(symbol.annotatedType.type.render(KtTypeRendererOptions.SHORT_NAMES))
append(symbol.type.render(KtTypeRendererOptions.SHORT_NAMES))
}
private fun getPath(symbol: KtCallableSymbol): String = when (symbol) {
@@ -78,7 +78,7 @@ private fun KtAnalysisSession.stringRepresentation(call: KtCall): String {
)
append("(")
(this@stringValue as? KtFunctionSymbol)?.receiverType?.let { receiver ->
append("<extension receiver>: ${receiver.type.render()}")
append("<extension receiver>: ${receiver.render()}")
if (valueParameters.isNotEmpty()) append(", ")
}
@@ -89,11 +89,11 @@ private fun KtAnalysisSession.stringRepresentation(call: KtCall): String {
}
valueParameters.joinTo(this) { it.stringValue() }
append(")")
append(": ${annotatedType.type.render()}")
append(": ${type.render()}")
}
is KtValueParameterSymbol -> "${if (isVararg) "vararg " else ""}$name: ${annotatedType.type.render()}"
is KtValueParameterSymbol -> "${if (isVararg) "vararg " else ""}$name: ${type.render()}"
is KtTypeParameterSymbol -> this.nameOrAnonymous.asString()
is KtVariableSymbol -> "${if (isVal) "val" else "var"} $name: ${annotatedType.type.render()}"
is KtVariableSymbol -> "${if (isVal) "val" else "var"} $name: ${type.render()}"
is KtSuccessCallTarget -> symbol.stringValue()
is KtErrorCallTarget -> "ERR<${this.diagnostic.defaultMessage}, [${candidates.joinToString { it.stringValue() }}]>"
is Boolean -> toString()