Analysis API: rename KtConstantValue -> KtAnnotationValue as it is annotation specific
This commit is contained in:
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtCompileTimeConstantProvide
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationValue
|
||||
import org.jetbrains.kotlin.analysis.api.tokens.ValidityToken
|
||||
import org.jetbrains.kotlin.psi.KtExpression
|
||||
import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator
|
||||
@@ -21,7 +21,7 @@ internal class KtFe10CompileTimeConstantProvider(
|
||||
override val token: ValidityToken
|
||||
get() = analysisSession.token
|
||||
|
||||
override fun evaluate(expression: KtExpression): KtConstantValue? {
|
||||
override fun evaluate(expression: KtExpression): KtAnnotationValue? {
|
||||
val bindingContext = analysisContext.analyze(expression)
|
||||
val constant = ConstantExpressionEvaluator.getPossiblyErrorConstant(expression, bindingContext)
|
||||
return constant?.toConstantValue(TypeUtils.NO_EXPECTED_TYPE)?.toKtConstantValue()
|
||||
|
||||
-3
@@ -5,8 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.KtConstantInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.KtInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.*
|
||||
@@ -15,7 +13,6 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertyGetterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySetterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
|
||||
-1
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.*
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.*
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
|
||||
-1
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.*
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.*
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
|
||||
+20
-21
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.*
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtNamedConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.*
|
||||
import org.jetbrains.kotlin.analysis.api.components.KtDeclarationRendererOptions
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.*
|
||||
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.load.kotlin.toSourceElement
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtExpression
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.CapturedType
|
||||
@@ -263,30 +262,30 @@ internal val MemberDescriptor.ktModality: Modality
|
||||
return this.modality
|
||||
}
|
||||
|
||||
internal fun ConstantValue<*>.toKtConstantValue(): KtConstantValue {
|
||||
internal fun ConstantValue<*>.toKtConstantValue(): KtAnnotationValue {
|
||||
return when (this) {
|
||||
is BooleanValue -> KtLiteralConstantValue(ConstantValueKind.Boolean, value, null)
|
||||
is CharValue -> KtLiteralConstantValue(ConstantValueKind.Char, value, null)
|
||||
is ByteValue -> KtLiteralConstantValue(ConstantValueKind.Byte, value, null)
|
||||
is UByteValue -> KtLiteralConstantValue(ConstantValueKind.UnsignedByte, value, null)
|
||||
is ShortValue -> KtLiteralConstantValue(ConstantValueKind.Short, value, null)
|
||||
is UShortValue -> KtLiteralConstantValue(ConstantValueKind.UnsignedShort, value, null)
|
||||
is IntValue -> KtLiteralConstantValue(ConstantValueKind.Int, value, null)
|
||||
is UIntValue -> KtLiteralConstantValue(ConstantValueKind.UnsignedInt, value, null)
|
||||
is LongValue -> KtLiteralConstantValue(ConstantValueKind.Long, value, null)
|
||||
is ULongValue -> KtLiteralConstantValue(ConstantValueKind.UnsignedLong, value, null)
|
||||
is FloatValue -> KtLiteralConstantValue(ConstantValueKind.Float, value, null)
|
||||
is DoubleValue -> KtLiteralConstantValue(ConstantValueKind.Double, value, null)
|
||||
is NullValue -> KtLiteralConstantValue(ConstantValueKind.Null, null, null)
|
||||
is StringValue -> KtLiteralConstantValue(ConstantValueKind.String, value, null)
|
||||
is ArrayValue -> KtArrayConstantValue(value.map { it.toKtConstantValue() }, null)
|
||||
is EnumValue -> KtEnumEntryConstantValue(CallableId(enumClassId, enumEntryName), null)
|
||||
is BooleanValue -> KtLiteralAnnotationValue(ConstantValueKind.Boolean, value, null)
|
||||
is CharValue -> KtLiteralAnnotationValue(ConstantValueKind.Char, value, null)
|
||||
is ByteValue -> KtLiteralAnnotationValue(ConstantValueKind.Byte, value, null)
|
||||
is UByteValue -> KtLiteralAnnotationValue(ConstantValueKind.UnsignedByte, value, null)
|
||||
is ShortValue -> KtLiteralAnnotationValue(ConstantValueKind.Short, value, null)
|
||||
is UShortValue -> KtLiteralAnnotationValue(ConstantValueKind.UnsignedShort, value, null)
|
||||
is IntValue -> KtLiteralAnnotationValue(ConstantValueKind.Int, value, null)
|
||||
is UIntValue -> KtLiteralAnnotationValue(ConstantValueKind.UnsignedInt, value, null)
|
||||
is LongValue -> KtLiteralAnnotationValue(ConstantValueKind.Long, value, null)
|
||||
is ULongValue -> KtLiteralAnnotationValue(ConstantValueKind.UnsignedLong, value, null)
|
||||
is FloatValue -> KtLiteralAnnotationValue(ConstantValueKind.Float, value, null)
|
||||
is DoubleValue -> KtLiteralAnnotationValue(ConstantValueKind.Double, value, null)
|
||||
is NullValue -> KtLiteralAnnotationValue(ConstantValueKind.Null, null, null)
|
||||
is StringValue -> KtLiteralAnnotationValue(ConstantValueKind.String, value, null)
|
||||
is ArrayValue -> KtArrayAnnotationValue(value.map { it.toKtConstantValue() }, null)
|
||||
is EnumValue -> KtEnumEntryAnnotationValue(CallableId(enumClassId, enumEntryName), null)
|
||||
is AnnotationValue -> {
|
||||
val arguments = value.allValueArguments.map { (name, v) -> KtNamedConstantValue(name.asString(), v.toKtConstantValue()) }
|
||||
KtAnnotationConstantValue(value.annotationClass?.classId, arguments, null)
|
||||
KtAnnotationAnnotationValue(value.annotationClass?.classId, arguments, null)
|
||||
}
|
||||
is ErrorValue -> KtErrorValue(this.toString())
|
||||
else -> KtUnsupportedConstantValue
|
||||
else -> KtUnsupportedAnnotationValue
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-7
@@ -5,12 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.KtConstantInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.KtInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.KtNonConstantInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisFacade.AnalysisMode
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.*
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.createKtInitializerValue
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.ktModality
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.ktVisibility
|
||||
@@ -25,9 +22,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertyGetterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySetterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtUnsupportedConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
@@ -42,8 +37,6 @@ import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator
|
||||
import org.jetbrains.kotlin.types.TypeUtils
|
||||
|
||||
internal class KtFe10PsiKotlinPropertySymbol(
|
||||
override val psi: KtProperty,
|
||||
|
||||
+7
-8
@@ -5,12 +5,11 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.api.descriptors.utils
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.KtNamedConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.annotations.*
|
||||
import org.jetbrains.kotlin.analysis.api.components.KtTypeRendererOptions
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.classId
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.maybeLocalClassId
|
||||
import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.toKtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.*
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor
|
||||
import org.jetbrains.kotlin.builtins.getReceiverTypeFromFunctionType
|
||||
import org.jetbrains.kotlin.builtins.getReturnTypeFromFunctionType
|
||||
@@ -110,14 +109,14 @@ internal class KtFe10TypeRenderer(private val options: KtTypeRendererOptions, pr
|
||||
}
|
||||
}
|
||||
|
||||
private fun KtFe10RendererConsumer.renderConstantValueDebug(value: KtConstantValue) {
|
||||
private fun KtFe10RendererConsumer.renderConstantValueDebug(value: KtAnnotationValue) {
|
||||
when (value) {
|
||||
is KtAnnotationConstantValue -> renderAnnotationDebug(value.classId, value.arguments)
|
||||
is KtArrayConstantValue ->
|
||||
is KtAnnotationAnnotationValue -> renderAnnotationDebug(value.classId, value.arguments)
|
||||
is KtArrayAnnotationValue ->
|
||||
renderList(value.values, separator = ", ", prefix = "[", postfix = "]") { renderConstantValueDebug(it) }
|
||||
is KtEnumEntryConstantValue -> append(value.callableId)
|
||||
is KtLiteralConstantValue<*> -> append(value.constantValueKind.asString).append("(").append(value.value).append(")")
|
||||
KtUnsupportedConstantValue -> append(KtUnsupportedConstantValue::class.java.simpleName)
|
||||
is KtEnumEntryAnnotationValue -> append(value.callableId)
|
||||
is KtLiteralAnnotationValue<*> -> append(value.constantValueKind.asString).append("(").append(value.value).append(")")
|
||||
KtUnsupportedAnnotationValue -> append(KtUnsupportedAnnotationValue::class.java.simpleName)
|
||||
is KtErrorValue -> append("<ERROR>")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user