FIR IDE: separate KtAnnotationApplication and KtAnnotationApplicationValue
This commit is contained in:
+7
-7
@@ -5,14 +5,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.annotations
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.ValidityTokenOwner
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||
import org.jetbrains.kotlin.psi.KtCallElement
|
||||
|
||||
public abstract class KtAnnotationApplication : ValidityTokenOwner {
|
||||
public abstract val classId: ClassId?
|
||||
public abstract val useSiteTarget: AnnotationUseSiteTarget?
|
||||
public abstract val psi: KtCallElement?
|
||||
public abstract val arguments: List<KtNamedConstantValue>
|
||||
}
|
||||
public class KtAnnotationApplication(
|
||||
public val classId: ClassId?,
|
||||
public val psi: KtAnnotationEntry?,
|
||||
public val useSiteTarget: AnnotationUseSiteTarget?,
|
||||
public val arguments: List<KtNamedAnnotationValue>,
|
||||
)
|
||||
+3
-7
@@ -6,8 +6,6 @@
|
||||
package org.jetbrains.kotlin.analysis.api.annotations
|
||||
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.psi.KtCallElement
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
|
||||
@@ -23,7 +21,7 @@ import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
*
|
||||
* [KtLiteralAnnotationValue] covers first two kinds;
|
||||
* [KtEnumEntryAnnotationValue] corresponds to enum types;
|
||||
* [KtAnnotationAnnotationValue] represents annotation types (with annotation fq name and arguments); and
|
||||
* [KtAnnotationApplicationValue] represents annotation types (with annotation fq name and arguments); and
|
||||
* [KtArrayAnnotationValue] abstracts an array of [KtAnnotationValue]s.
|
||||
*/
|
||||
public sealed class KtAnnotationValue(
|
||||
@@ -47,10 +45,8 @@ public class KtArrayAnnotationValue(
|
||||
override val sourcePsi: KtElement?,
|
||||
) : KtAnnotationValue()
|
||||
|
||||
public class KtAnnotationAnnotationValue(
|
||||
public val classId: ClassId?,
|
||||
public val arguments: List<KtNamedConstantValue>,
|
||||
override val sourcePsi: KtCallElement?,
|
||||
public class KtAnnotationApplicationValue(
|
||||
public val annotationValue: KtAnnotationApplication,
|
||||
) : KtAnnotationValue()
|
||||
|
||||
public class KtEnumEntryAnnotationValue(
|
||||
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.annotations
|
||||
|
||||
public data class KtNamedConstantValue(val name: String, val expression: KtAnnotationValue)
|
||||
public data class KtNamedAnnotationValue(val name: String, val expression: KtAnnotationValue)
|
||||
+2
-2
@@ -142,7 +142,7 @@ public object DebugSymbolRenderer {
|
||||
append(KtConstantValueRenderer.render(value))
|
||||
}
|
||||
|
||||
private fun Block.renderNamedConstantValue(value: KtNamedConstantValue) {
|
||||
private fun Block.renderNamedConstantValue(value: KtNamedAnnotationValue) {
|
||||
append(value.name).append(" = ")
|
||||
renderValue(value.expression)
|
||||
}
|
||||
@@ -189,7 +189,7 @@ public object DebugSymbolRenderer {
|
||||
is KtSymbol -> renderSymbolTag(value)
|
||||
is KtType -> renderType(value)
|
||||
is KtAnnotationValue -> renderConstantValue(value)
|
||||
is KtNamedConstantValue -> renderNamedConstantValue(value)
|
||||
is KtNamedAnnotationValue -> renderNamedConstantValue(value)
|
||||
is KtInitializerValue -> renderKtInitializerValue(value)
|
||||
is KtAnnotationApplication -> renderAnnotationApplication(value)
|
||||
is KtAnnotationsList -> renderAnnotationsList(value)
|
||||
|
||||
+7
-3
@@ -15,7 +15,7 @@ public object KtConstantValueRenderer {
|
||||
|
||||
private fun StringBuilder.renderConstantValue(value: KtAnnotationValue) {
|
||||
when (value) {
|
||||
is KtAnnotationAnnotationValue -> {
|
||||
is KtAnnotationApplicationValue -> {
|
||||
renderAnnotationConstantValue(value)
|
||||
}
|
||||
is KtArrayAnnotationValue -> {
|
||||
@@ -58,7 +58,11 @@ public object KtConstantValueRenderer {
|
||||
append(value.callableId?.asSingleFqName()?.asString())
|
||||
}
|
||||
|
||||
private fun StringBuilder.renderAnnotationConstantValue(value: KtAnnotationAnnotationValue) {
|
||||
private fun StringBuilder.renderAnnotationConstantValue(application: KtAnnotationApplicationValue) {
|
||||
renderAnnotationApplication(application.annotationValue)
|
||||
}
|
||||
|
||||
private fun StringBuilder.renderAnnotationApplication(value: KtAnnotationApplication) {
|
||||
append(value.classId)
|
||||
if (value.arguments.isNotEmpty()) {
|
||||
append("(")
|
||||
@@ -79,7 +83,7 @@ public object KtConstantValueRenderer {
|
||||
}
|
||||
}
|
||||
|
||||
private fun StringBuilder.renderNamedConstantValueList(list: Collection<KtNamedConstantValue>) {
|
||||
private fun StringBuilder.renderNamedConstantValueList(list: Collection<KtNamedAnnotationValue>) {
|
||||
renderWithSeparator(list, ", ") { namedValue ->
|
||||
append(namedValue.name)
|
||||
append(" = ")
|
||||
|
||||
Reference in New Issue
Block a user