FIR IDE: make constant values symbol-free

This commit is contained in:
Jinseong Jeon
2021-09-20 15:21:26 -07:00
committed by Ilya Kirillov
parent f94dad7005
commit ffd0a5ed14
22 changed files with 44 additions and 59 deletions
@@ -96,7 +96,7 @@ public object DebugSymbolRenderer {
"${value::class.simpleName!!}($symbolTag)"
}
is KtLiteralConstantValue<*> -> renderValue(value.value)
is KtEnumEntryConstantValue -> "KtEnumEntryConstantValue(${renderValue(value.enumEntrySymbol)})"
is KtEnumEntryConstantValue -> "KtEnumEntryConstantValue(${renderValue(value.callableId)})"
is KtNamedConstantValue -> "${renderValue(value.name)} = ${renderValue(value.expression)}"
is KtAnnotationCall -> buildString {
append(renderValue(value.classId))
@@ -5,7 +5,8 @@
package org.jetbrains.kotlin.analysis.api.symbols.markers
import org.jetbrains.kotlin.analysis.api.symbols.KtEnumEntrySymbol
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
@@ -36,13 +37,13 @@ public class KtArrayConstantValue(
) : KtConstantValue()
public class KtAnnotationConstantValue(
public val fqName: String?,
public val classId: ClassId?,
public val arguments: List<KtNamedConstantValue>,
override val kotlinOrigin: KtCallElement?,
) : KtConstantValue()
public class KtEnumEntryConstantValue(
public val enumEntrySymbol: KtEnumEntrySymbol,
public val callableId: CallableId?,
override val kotlinOrigin: KtElement?,
) : KtConstantValue()
@@ -296,7 +296,7 @@ KtFirKotlinPropertySymbol:
kotlin/Deprecated
]
annotations: [
kotlin/Deprecated(level = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/DeprecationLevel.ERROR)), message = don't use j)
kotlin/Deprecated(level = KtEnumEntryConstantValue(kotlin/DeprecationLevel.ERROR), message = don't use j)
psi: KtAnnotationEntry
]
callableIdIfNonLocal: /j
@@ -332,7 +332,7 @@ KtFirKotlinPropertySymbol:
kotlin/Deprecated
]
annotations: [
kotlin/Deprecated(level = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/DeprecationLevel.HIDDEN)), message = don't use j2)
kotlin/Deprecated(level = KtEnumEntryConstantValue(kotlin/DeprecationLevel.HIDDEN), message = don't use j2)
psi: KtAnnotationEntry
]
callableIdIfNonLocal: /j2
@@ -3,7 +3,7 @@ KtFirNamedClassOrObjectSymbol:
kotlin/annotation/Target
]
annotations: [
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE)))
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(kotlin/annotation/AnnotationTarget.TYPE))
psi: KtAnnotationEntry
]
classIdIfNonLocal: Anno1
@@ -30,7 +30,7 @@ KtFirNamedClassOrObjectSymbol:
kotlin/annotation/Target
]
annotations: [
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE)))
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(kotlin/annotation/AnnotationTarget.TYPE))
psi: KtAnnotationEntry
]
classIdIfNonLocal: Anno2
@@ -57,7 +57,7 @@ KtFirNamedClassOrObjectSymbol:
kotlin/annotation/Target
]
annotations: [
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE)))
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(kotlin/annotation/AnnotationTarget.TYPE))
psi: KtAnnotationEntry
]
classIdIfNonLocal: Anno3
@@ -84,7 +84,7 @@ KtFirNamedClassOrObjectSymbol:
kotlin/annotation/Target
]
annotations: [
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE)))
kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(kotlin/annotation/AnnotationTarget.TYPE))
psi: KtAnnotationEntry
]
classIdIfNonLocal: Anno4