K2. Minor. Rename FirConstExpression to FirLiteralExpression

FirConstExpression is usually confused with "constant" calculations,
while in fact, it just denotes a simple literal expression
and `1 + 1` isn't represented by a FirConstExpression.

^KT-64314 Fixed
This commit is contained in:
Simon Ogorodnik
2024-01-12 18:44:13 +01:00
committed by Space Team
parent 213967e25c
commit 53e89a9722
105 changed files with 300 additions and 295 deletions
@@ -16,9 +16,9 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.types.ConstantValueKind
/**
* Generated from: [org.jetbrains.kotlin.fir.tree.generator.FirTreeBuilder.constExpression]
* Generated from: [org.jetbrains.kotlin.fir.tree.generator.FirTreeBuilder.literalExpression]
*/
abstract class FirConstExpression<T> : FirExpression() {
abstract class FirLiteralExpression<T> : FirExpression() {
abstract override val source: KtSourceElement?
@UnresolvedExpressionTypeAccess
abstract override val coneTypeOrNull: ConeKotlinType?
@@ -27,11 +27,11 @@ abstract class FirConstExpression<T> : FirExpression() {
abstract val value: T
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
visitor.visitConstExpression(this, data)
visitor.visitLiteralExpression(this, data)
@Suppress("UNCHECKED_CAST")
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
transformer.transformConstExpression(this, data) as E
transformer.transformLiteralExpression(this, data) as E
abstract override fun replaceConeTypeOrNull(newConeTypeOrNull: ConeKotlinType?)
@@ -39,5 +39,5 @@ abstract class FirConstExpression<T> : FirExpression() {
abstract fun replaceKind(newKind: ConstantValueKind<T>)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirConstExpression<T>
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirLiteralExpression<T>
}
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.fir.MutableOrEmptyList
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirConstExpression
import org.jetbrains.kotlin.fir.expressions.FirLiteralExpression
import org.jetbrains.kotlin.fir.expressions.UnresolvedExpressionTypeAccess
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.visitors.FirTransformer
@@ -23,25 +23,25 @@ import org.jetbrains.kotlin.fir.visitors.transformInplace
import org.jetbrains.kotlin.types.ConstantValueKind
@OptIn(UnresolvedExpressionTypeAccess::class)
internal class FirConstExpressionImpl<T> (
internal class FirLiteralExpressionImpl<T> (
override val source: KtSourceElement?,
@property:UnresolvedExpressionTypeAccess
override var coneTypeOrNull: ConeKotlinType?,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override var kind: ConstantValueKind<T>,
override val value: T,
) : FirConstExpression<T>() {
) : FirLiteralExpression<T>() {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
annotations.forEach { it.accept(visitor, data) }
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirConstExpressionImpl<T> {
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirLiteralExpressionImpl<T> {
transformAnnotations(transformer, data)
return this
}
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirConstExpressionImpl<T> {
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirLiteralExpressionImpl<T> {
annotations.transformInplace(transformer, data)
return this
}
@@ -101,8 +101,8 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
override fun visitContinueExpression(continueExpression: FirContinueExpression, data: D): R =
visitLoopJump(continueExpression, data)
override fun <T> visitConstExpression(constExpression: FirConstExpression<T>, data: D): R =
visitExpression(constExpression, data)
override fun <T> visitLiteralExpression(literalExpression: FirLiteralExpression<T>, data: D): R =
visitExpression(literalExpression, data)
override fun visitStarProjection(starProjection: FirStarProjection, data: D): R =
visitTypeProjection(starProjection, data)
@@ -74,7 +74,7 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
override fun visitContinueExpression(continueExpression: FirContinueExpression) = visitLoopJump(continueExpression)
override fun <T> visitConstExpression(constExpression: FirConstExpression<T>) = visitExpression(constExpression)
override fun <T> visitLiteralExpression(literalExpression: FirLiteralExpression<T>) = visitExpression(literalExpression)
override fun visitStarProjection(starProjection: FirStarProjection) = visitTypeProjection(starProjection)
@@ -555,12 +555,12 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformTryExpression(tryExpression, data)
}
open fun <T> transformConstExpression(constExpression: FirConstExpression<T>, data: D): FirStatement {
return transformElement(constExpression, data)
open fun <T> transformLiteralExpression(literalExpression: FirLiteralExpression<T>, data: D): FirStatement {
return transformElement(literalExpression, data)
}
final override fun <T> visitConstExpression(constExpression: FirConstExpression<T>, data: D): FirStatement {
return transformConstExpression(constExpression, data)
final override fun <T> visitLiteralExpression(literalExpression: FirLiteralExpression<T>, data: D): FirStatement {
return transformLiteralExpression(literalExpression, data)
}
open fun transformTypeProjection(typeProjection: FirTypeProjection, data: D): FirTypeProjection {
@@ -221,8 +221,8 @@ abstract class FirVisitor<out R, in D> {
open fun visitTryExpression(tryExpression: FirTryExpression, data: D): R =
visitElement(tryExpression, data)
open fun <T> visitConstExpression(constExpression: FirConstExpression<T>, data: D): R =
visitElement(constExpression, data)
open fun <T> visitLiteralExpression(literalExpression: FirLiteralExpression<T>, data: D): R =
visitElement(literalExpression, data)
open fun visitTypeProjection(typeProjection: FirTypeProjection, data: D): R =
visitElement(typeProjection, data)
@@ -555,12 +555,12 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(tryExpression)
}
final override fun <T> visitConstExpression(constExpression: FirConstExpression<T>, data: Nothing?) {
visitConstExpression(constExpression)
final override fun <T> visitLiteralExpression(literalExpression: FirLiteralExpression<T>, data: Nothing?) {
visitLiteralExpression(literalExpression)
}
open fun <T> visitConstExpression(constExpression: FirConstExpression<T>) {
visitElement(constExpression)
open fun <T> visitLiteralExpression(literalExpression: FirLiteralExpression<T>) {
visitElement(literalExpression)
}
final override fun visitTypeProjection(typeProjection: FirTypeProjection, data: Nothing?) {