Rename FirConstKind to ConstantValueKind and move it to compiler.common
This commit is contained in:
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.expressions
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -18,14 +19,14 @@ abstract class FirConstExpression<T> : FirExpression() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract val kind: FirConstKind<T>
|
||||
abstract val kind: ConstantValueKind<T>
|
||||
abstract val value: T
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitConstExpression(this, data)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract fun replaceKind(newKind: FirConstKind<T>)
|
||||
abstract fun replaceKind(newKind: ConstantValueKind<T>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirConstExpression<T>
|
||||
}
|
||||
|
||||
+3
-3
@@ -8,9 +8,9 @@ package org.jetbrains.kotlin.fir.expressions.impl
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirConstExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirConstKind
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
internal class FirConstExpressionImpl<T> (
|
||||
override val source: FirSourceElement?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override var kind: FirConstKind<T>,
|
||||
override var kind: ConstantValueKind<T>,
|
||||
override val value: T,
|
||||
) : FirConstExpression<T>() {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
@@ -46,7 +46,7 @@ internal class FirConstExpressionImpl<T> (
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
|
||||
override fun replaceKind(newKind: FirConstKind<T>) {
|
||||
override fun replaceKind(newKind: ConstantValueKind<T>) {
|
||||
kind = newKind
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2019 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.fir.expressions
|
||||
|
||||
sealed class FirConstKind<T>(val asString: kotlin.String) {
|
||||
object Null : FirConstKind<Nothing?>("Null")
|
||||
object Boolean : FirConstKind<kotlin.Boolean>("Boolean")
|
||||
object Char : FirConstKind<kotlin.Char>("Char")
|
||||
|
||||
object Byte : FirConstKind<kotlin.Byte>("Byte")
|
||||
object UnsignedByte : FirConstKind<kotlin.Byte>("UByte")
|
||||
object Short : FirConstKind<kotlin.Short>("Short")
|
||||
object UnsignedShort : FirConstKind<kotlin.Short>("UShort")
|
||||
object Int : FirConstKind<kotlin.Int>("Int")
|
||||
object UnsignedInt : FirConstKind<kotlin.Int>("UInt")
|
||||
object Long : FirConstKind<kotlin.Long>("Long")
|
||||
object UnsignedLong : FirConstKind<kotlin.Long>("ULong")
|
||||
|
||||
object String : FirConstKind<kotlin.String>("String")
|
||||
|
||||
object Float : FirConstKind<kotlin.Float>("Float")
|
||||
object Double : FirConstKind<kotlin.Double>("Double")
|
||||
|
||||
object IntegerLiteral : FirConstKind<kotlin.Long>("IntegerLiteral")
|
||||
object UnsignedIntegerLiteral : FirConstKind<kotlin.Long>("UnsignedIntegerLiteral")
|
||||
|
||||
override fun toString() = asString
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
import org.jetbrains.kotlin.fir.visitors.TransformData
|
||||
import org.jetbrains.kotlin.fir.visitors.transformInplace
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
|
||||
inline val FirAnnotationCall.coneClassLikeType: ConeClassLikeType?
|
||||
get() = ((annotationTypeRef as? FirResolvedTypeRef)?.type as? ConeClassLikeType)
|
||||
@@ -28,7 +29,7 @@ inline val FirAnnotationCall.coneClassLikeType: ConeClassLikeType?
|
||||
inline val FirAnnotationCall.classId: ClassId?
|
||||
get() = coneClassLikeType?.lookupTag?.classId
|
||||
|
||||
fun <T> buildConstOrErrorExpression(source: FirSourceElement?, kind: FirConstKind<T>, value: T?, diagnostic: ConeDiagnostic): FirExpression =
|
||||
fun <T> buildConstOrErrorExpression(source: FirSourceElement?, kind: ConstantValueKind<T>, value: T?, diagnostic: ConeDiagnostic): FirExpression =
|
||||
value?.let {
|
||||
buildConstExpression(source, kind, it)
|
||||
} ?: buildErrorExpression {
|
||||
|
||||
+2
-2
@@ -8,12 +8,12 @@ package org.jetbrains.kotlin.fir.expressions.builder
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirConstExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirConstKind
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirConstExpressionImpl
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
|
||||
fun <T> buildConstExpression(
|
||||
source: FirSourceElement?,
|
||||
kind: FirConstKind<T>,
|
||||
kind: ConstantValueKind<T>,
|
||||
value: T,
|
||||
annotations: MutableList<FirAnnotationCall> = mutableListOf(),
|
||||
): FirConstExpression<T> {
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
package org.jetbrains.kotlin.fir.types
|
||||
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirConstKind
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitBuiltinTypeRef
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
import kotlin.contracts.ExperimentalContracts
|
||||
import kotlin.contracts.contract
|
||||
|
||||
@@ -77,16 +77,16 @@ fun List<FirAnnotationCall>.dropExtensionFunctionAnnotation(): List<FirAnnotatio
|
||||
return filterNot { it.isExtensionFunctionAnnotationCall }
|
||||
}
|
||||
|
||||
fun ConeClassLikeType.toConstKind(): FirConstKind<*>? = when (lookupTag.classId) {
|
||||
StandardClassIds.Byte -> FirConstKind.Byte
|
||||
StandardClassIds.Short -> FirConstKind.Short
|
||||
StandardClassIds.Int -> FirConstKind.Int
|
||||
StandardClassIds.Long -> FirConstKind.Long
|
||||
fun ConeClassLikeType.toConstKind(): ConstantValueKind<*>? = when (lookupTag.classId) {
|
||||
StandardClassIds.Byte -> ConstantValueKind.Byte
|
||||
StandardClassIds.Short -> ConstantValueKind.Short
|
||||
StandardClassIds.Int -> ConstantValueKind.Int
|
||||
StandardClassIds.Long -> ConstantValueKind.Long
|
||||
|
||||
StandardClassIds.UInt -> FirConstKind.UnsignedInt
|
||||
StandardClassIds.ULong -> FirConstKind.UnsignedLong
|
||||
StandardClassIds.UShort -> FirConstKind.UnsignedShort
|
||||
StandardClassIds.UByte -> FirConstKind.UnsignedByte
|
||||
StandardClassIds.UInt -> ConstantValueKind.UnsignedInt
|
||||
StandardClassIds.ULong -> ConstantValueKind.UnsignedLong
|
||||
StandardClassIds.UShort -> ConstantValueKind.UnsignedShort
|
||||
StandardClassIds.UByte -> ConstantValueKind.UnsignedByte
|
||||
else -> null
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.types.Variance
|
||||
|
||||
val sourceElementType = type("fir", "FirSourceElement")
|
||||
val jumpTargetType = type("fir", "FirTarget")
|
||||
val constKindType = generatedType("expressions", "FirConstKind")
|
||||
val constKindType = type("types", "ConstantValueKind")
|
||||
val operationType = type("fir.expressions", "FirOperation")
|
||||
val classKindType = type(ClassKind::class)
|
||||
val eventOccurrencesRangeType = type(EventOccurrencesRange::class)
|
||||
|
||||
Reference in New Issue
Block a user