diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/KtFirConstantValueConverter.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/KtFirConstantValueConverter.kt index 15e1ec826a6..8803203e723 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/KtFirConstantValueConverter.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/KtFirConstantValueConverter.kt @@ -39,11 +39,11 @@ internal object KtFirConstantValueConverter { fun toConstantValue( firConstExpression: FirConstExpression, - ): KtSimpleConstantValue = + ): KtLiteralConstantValue = firConstExpression.convertConstantExpression() - private fun FirConstExpression.convertConstantExpression(): KtSimpleConstantValue = - KtSimpleConstantValue(kind, value, realPsi as? KtElement) + private fun FirConstExpression.convertConstantExpression(): KtLiteralConstantValue = + KtLiteralConstantValue(kind, value, realPsi as? KtElement) private fun Collection.convertConstantExpression( session: FirSession, @@ -112,7 +112,10 @@ internal object KtFirConstantValueConverter { val reference = calleeReference as? FirResolvedNamedReference ?: return null when (val resolvedSymbol = reference.resolvedSymbol) { is FirEnumEntrySymbol -> { - KtEnumEntryValue(resolvedSymbol.fir.buildSymbol(firSymbolBuilder) as KtEnumEntrySymbol, realPsi as? KtElement) + KtEnumEntryConstantValue( + resolvedSymbol.fir.buildSymbol(firSymbolBuilder) as KtEnumEntrySymbol, + realPsi as? KtElement + ) } else -> null } diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractCompileTimeConstantEvaluatorTest.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractCompileTimeConstantEvaluatorTest.kt index c2e32869019..208db6ace7b 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractCompileTimeConstantEvaluatorTest.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractCompileTimeConstantEvaluatorTest.kt @@ -31,7 +31,7 @@ abstract class AbstractCompileTimeConstantEvaluatorTest : AbstractHLApiSingleFil val actual = buildString { appendLine("expression: ${expression.text}") appendLine("constant_value: ${analyse(ktFile) { constantValue?.stringRepresentation() }}") - appendLine("constant: ${(constantValue as? KtSimpleConstantValue<*>)?.toConst()}") + appendLine("constant: ${(constantValue as? KtLiteralConstantValue<*>)?.toConst()}") } testServices.assertions.assertEqualsToFile(testDataFileSibling(".txt"), actual) } @@ -52,12 +52,17 @@ abstract class AbstractCompileTimeConstantEvaluatorTest : AbstractHLApiSingleFil } append(")") } - is KtEnumEntryValue -> buildString { - append("KtEnumEntryValue(") + is KtEnumEntryConstantValue -> buildString { + append("KtEnumEntryConstantValue(") append(enumEntrySymbol.callableIdIfNonLocal ?: enumEntrySymbol.name) append(")") } - is KtSimpleConstantValue<*> -> toString() + is KtLiteralConstantValue<*> -> buildString { + append("KtLiteralConstantValue(") + append("constantValueKind=${constantValueKind}") + append(", ") + append("value=${value})") + } is KtUnsupportedConstantValue -> "KtUnsupportedConstantValue" } } diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt index 5e28b8735fc..fe7729d8db4 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt @@ -95,8 +95,8 @@ public object DebugSymbolRenderer { } "${value::class.simpleName!!}($symbolTag)" } - is KtSimpleConstantValue<*> -> renderValue(value.value) - is KtEnumEntryValue -> "KtEnumEntryValue(${renderValue(value.enumEntrySymbol)})" + is KtLiteralConstantValue<*> -> renderValue(value.value) + is KtEnumEntryConstantValue -> "KtEnumEntryConstantValue(${renderValue(value.enumEntrySymbol)})" is KtNamedConstantValue -> "${renderValue(value.name)} = ${renderValue(value.expression)}" is KtAnnotationCall -> buildString { append(renderValue(value.classId)) diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/markers/KtConstantValue.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/markers/KtConstantValue.kt index 6f713b76bb1..f9a2403c177 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/markers/KtConstantValue.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/markers/KtConstantValue.kt @@ -20,8 +20,8 @@ import org.jetbrains.kotlin.types.ConstantValueKind * * other annotation types, and * * array of aforementioned types * - * [KtSimpleConstantValue] covers first two kinds; - * [KtEnumEntryValue] corresponds to enum types; + * [KtLiteralConstantValue] covers first two kinds; + * [KtEnumEntryConstantValue] corresponds to enum types; * [KtAnnotationConstantValue] represents annotation types (with annotation fq name and arguments); and * [KtArrayConstantValue] abstracts an array of [KtConstantValue]s. */ @@ -41,12 +41,12 @@ public class KtAnnotationConstantValue( override val kotlinOrigin: KtCallElement?, ) : KtConstantValue() -public class KtEnumEntryValue( +public class KtEnumEntryConstantValue( public val enumEntrySymbol: KtEnumEntrySymbol, override val kotlinOrigin: KtElement?, ) : KtConstantValue() -public class KtSimpleConstantValue( +public class KtLiteralConstantValue( public val constantValueKind: ConstantValueKind, public val value: T, override val kotlinOrigin: KtElement?, @@ -68,8 +68,4 @@ public class KtSimpleConstantValue( } } ?: value } - - override fun toString(): String { - return "KtSimpleConstantValue(constantValueKind=${constantValueKind}, value=${value})" - } } diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_arrayOf.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_arrayOf.txt index 5133f5dba3d..51d0c26b6ee 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_arrayOf.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_arrayOf.txt @@ -1,6 +1,6 @@ expression: Annotation(strings = arrayOf("v1", "v2")) constant_value: KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [ - KtSimpleConstantValue(constantValueKind=String, value=v1) - KtSimpleConstantValue(constantValueKind=String, value=v2) + KtLiteralConstantValue(constantValueKind=String, value=v1) + KtLiteralConstantValue(constantValueKind=String, value=v2) ])) constant: null diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_collectionLiteral.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_collectionLiteral.txt index da03d996d5f..8f09acbeb6f 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_collectionLiteral.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_collectionLiteral.txt @@ -1,6 +1,6 @@ expression: Annotation(["v1", "v2"]) constant_value: KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [ - KtSimpleConstantValue(constantValueKind=String, value=v1) - KtSimpleConstantValue(constantValueKind=String, value=v2) + KtLiteralConstantValue(constantValueKind=String, value=v1) + KtLiteralConstantValue(constantValueKind=String, value=v2) ])) constant: null diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_arrayOf.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_arrayOf.txt index c8ff60f8a96..6ff4ec2c44e 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_arrayOf.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_arrayOf.txt @@ -1,12 +1,12 @@ expression: arrayOf(Annotation("v1", "v2"), Annotation(strings = arrayOf("v3", "v4"))) constant_value: KtArrayConstantValue [ KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [ - KtSimpleConstantValue(constantValueKind=String, value=v1) - KtSimpleConstantValue(constantValueKind=String, value=v2) + KtLiteralConstantValue(constantValueKind=String, value=v1) + KtLiteralConstantValue(constantValueKind=String, value=v2) ])) KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [ - KtSimpleConstantValue(constantValueKind=String, value=v3) - KtSimpleConstantValue(constantValueKind=String, value=v4) + KtLiteralConstantValue(constantValueKind=String, value=v3) + KtLiteralConstantValue(constantValueKind=String, value=v4) ])) ] constant: null diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_collectionLiteral.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_collectionLiteral.txt index b64ed73ca11..f93fb649626 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_collectionLiteral.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/annotationInAnnotation_multipleAnnotations_collectionLiteral.txt @@ -1,12 +1,12 @@ expression: [Annotation("v1", "v2"), Annotation(["v3", "v4"])] constant_value: KtArrayConstantValue [ KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [ - KtSimpleConstantValue(constantValueKind=String, value=v1) - KtSimpleConstantValue(constantValueKind=String, value=v2) + KtLiteralConstantValue(constantValueKind=String, value=v1) + KtLiteralConstantValue(constantValueKind=String, value=v2) ])) KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [ - KtSimpleConstantValue(constantValueKind=String, value=v3) - KtSimpleConstantValue(constantValueKind=String, value=v4) + KtLiteralConstantValue(constantValueKind=String, value=v3) + KtLiteralConstantValue(constantValueKind=String, value=v4) ])) ] constant: null diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/enumAsAnnotationValue.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/enumAsAnnotationValue.txt index 8541f4cd1b3..8f0d6683489 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/enumAsAnnotationValue.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/enumAsAnnotationValue.txt @@ -1,3 +1,3 @@ expression: Color.R -constant_value: KtEnumEntryValue(/Color.R) +constant_value: KtEnumEntryConstantValue(/Color.R) constant: null diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Byte.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Byte.txt index 23ac3809aa3..c7be5a20d10 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Byte.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Byte.txt @@ -1,3 +1,3 @@ expression: 42 -constant_value: KtSimpleConstantValue(constantValueKind=Byte, value=42) +constant_value: KtLiteralConstantValue(constantValueKind=Byte, value=42) constant: 42 diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Double.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Double.txt index 88364497430..8da201d3b28 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Double.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Double.txt @@ -1,3 +1,3 @@ expression: 3.14 -constant_value: KtSimpleConstantValue(constantValueKind=Double, value=3.14) +constant_value: KtLiteralConstantValue(constantValueKind=Double, value=3.14) constant: 3.14 diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Float.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Float.txt index c94f8be0ce3..e3c6718b881 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Float.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Float.txt @@ -1,3 +1,3 @@ expression: 3.14f -constant_value: KtSimpleConstantValue(constantValueKind=Float, value=3.14) +constant_value: KtLiteralConstantValue(constantValueKind=Float, value=3.14) constant: 3.14 diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Int.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Int.txt index 2c1a918dcdd..4e895af7090 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Int.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Int.txt @@ -1,3 +1,3 @@ expression: 42 -constant_value: KtSimpleConstantValue(constantValueKind=Int, value=42) +constant_value: KtLiteralConstantValue(constantValueKind=Int, value=42) constant: 42 diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Long.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Long.txt index 685d8df0a8f..3ef7e64bb4e 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Long.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_Long.txt @@ -1,3 +1,3 @@ expression: 42 -constant_value: KtSimpleConstantValue(constantValueKind=Long, value=42) +constant_value: KtLiteralConstantValue(constantValueKind=Long, value=42) constant: 42 diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_UInt.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_UInt.txt index 42ee25c57ec..24eb9485b5b 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_UInt.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/propertyInit_UInt.txt @@ -1,3 +1,3 @@ expression: 42u -constant_value: KtSimpleConstantValue(constantValueKind=UInt, value=42) +constant_value: KtLiteralConstantValue(constantValueKind=UInt, value=42) constant: 42 diff --git a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/stringLiteral.txt b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/stringLiteral.txt index 65b161023fc..ac7d77bf49e 100644 --- a/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/stringLiteral.txt +++ b/analysis/analysis-api/testData/components/compileTimeConstantEvaluator/stringLiteral.txt @@ -1,3 +1,3 @@ expression: "42" -constant_value: KtSimpleConstantValue(constantValueKind=String, value=42) +constant_value: KtLiteralConstantValue(constantValueKind=String, value=42) constant: 42 diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt index c155a602feb..cca754fddfc 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt @@ -296,7 +296,7 @@ KtFirKotlinPropertySymbol: kotlin/Deprecated ] annotations: [ - kotlin/Deprecated(level = KtEnumEntryValue(KtFirEnumEntrySymbol(kotlin/DeprecationLevel.ERROR)), message = don't use j) + kotlin/Deprecated(level = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/DeprecationLevel.ERROR)), message = don't use j) psi: KtAnnotationEntry ] callableIdIfNonLocal: /j @@ -332,7 +332,7 @@ KtFirKotlinPropertySymbol: kotlin/Deprecated ] annotations: [ - kotlin/Deprecated(level = KtEnumEntryValue(KtFirEnumEntrySymbol(kotlin/DeprecationLevel.HIDDEN)), message = don't use j2) + kotlin/Deprecated(level = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/DeprecationLevel.HIDDEN)), message = don't use j2) psi: KtAnnotationEntry ] callableIdIfNonLocal: /j2 diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt index 23194fcf9c3..734400a5a12 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt @@ -3,7 +3,7 @@ KtFirNamedClassOrObjectSymbol: kotlin/annotation/Target ] annotations: [ - kotlin/annotation/Target(allowedTargets = KtEnumEntryValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) + kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) psi: KtAnnotationEntry ] classIdIfNonLocal: Anno1 @@ -30,7 +30,7 @@ KtFirNamedClassOrObjectSymbol: kotlin/annotation/Target ] annotations: [ - kotlin/annotation/Target(allowedTargets = KtEnumEntryValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) + kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) psi: KtAnnotationEntry ] classIdIfNonLocal: Anno2 @@ -57,7 +57,7 @@ KtFirNamedClassOrObjectSymbol: kotlin/annotation/Target ] annotations: [ - kotlin/annotation/Target(allowedTargets = KtEnumEntryValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) + kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) psi: KtAnnotationEntry ] classIdIfNonLocal: Anno3 @@ -84,7 +84,7 @@ KtFirNamedClassOrObjectSymbol: kotlin/annotation/Target ] annotations: [ - kotlin/annotation/Target(allowedTargets = KtEnumEntryValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) + kotlin/annotation/Target(allowedTargets = KtEnumEntryConstantValue(KtFirEnumEntrySymbol(kotlin/annotation/AnnotationTarget.TYPE))) psi: KtAnnotationEntry ] classIdIfNonLocal: Anno4 diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt index 9ee080b8c0f..022541e5119 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt @@ -10,9 +10,7 @@ import com.intellij.psi.impl.light.LightIdentifier import org.jetbrains.kotlin.asJava.classes.cannotModify import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightElementBase -import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotationCall import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedConstantValue -import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSimpleConstantValue import org.jetbrains.kotlin.psi.KtElement internal class FirAnnotationParameterList( diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt index bfe75fa9dad..204fcde9a7a 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.analysis.api.symbols.KtFileSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotatedSymbol -import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSimpleConstantValue +import org.jetbrains.kotlin.analysis.api.symbols.markers.KtLiteralConstantValue internal fun KtAnnotatedSymbol.hasJvmSyntheticAnnotation(annotationUseSiteTarget: AnnotationUseSiteTarget? = null): Boolean = hasAnnotation("kotlin/jvm/JvmSynthetic", annotationUseSiteTarget) @@ -30,7 +30,7 @@ internal fun KtAnnotatedSymbol.getJvmNameFromAnnotation(annotationUseSiteTarget: } return annotation?.let { - (it.arguments.firstOrNull()?.expression as? KtSimpleConstantValue<*>)?.value as? String + (it.arguments.firstOrNull()?.expression as? KtLiteralConstantValue<*>)?.value as? String } } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt index 94d07637975..5efad7565e2 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.analysis.api.isValid import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol -import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSimpleConstantValue +import org.jetbrains.kotlin.analysis.api.symbols.markers.KtLiteralConstantValue import org.jetbrains.kotlin.psi.KtDeclaration internal class FirLightFieldForPropertySymbol( @@ -101,7 +101,7 @@ internal class FirLightFieldForPropertySymbol( if (propertySymbol !is KtKotlinPropertySymbol) return@lazyPub null if (!propertySymbol.isConst) return@lazyPub null if (!propertySymbol.isVal) return@lazyPub null - (propertySymbol.initializer as? KtSimpleConstantValue<*>)?.createPsiLiteral(this) + (propertySymbol.initializer as? KtLiteralConstantValue<*>)?.createPsiLiteral(this) } override fun getInitializer(): PsiExpression? = _initializer diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt index 5c3dbb76684..7166665ef45 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt @@ -199,9 +199,9 @@ internal fun KtConstantValue.toAnnotationMemberValue(parent: PsiElement): PsiAnn private fun KtConstantValue.asStringForPsiLiteral(): String? = when (this) { - is KtEnumEntryValue -> + is KtEnumEntryConstantValue -> "${enumEntrySymbol.containingEnumClassIdIfNonLocal?.asSingleFqName()?.asString() ?: ""}.${enumEntrySymbol.name}" - is KtSimpleConstantValue<*> -> { + is KtLiteralConstantValue<*> -> { when (val value = this.value) { is String -> "\"${escapeString(value)}\"" is Long -> "${value}L"