[FIR] Rename FirElvisCall to FirElvisExpression
FirElvisCall is not a FirCall, so FirElvisExpression is more convenient name
This commit is contained in:
+6
-6
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirElvisCall : FirExpression(), FirResolvable {
|
||||
abstract class FirElvisExpression : FirExpression(), FirResolvable {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
@@ -23,17 +23,17 @@ abstract class FirElvisCall : FirExpression(), FirResolvable {
|
||||
abstract val lhs: FirExpression
|
||||
abstract val rhs: FirExpression
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitElvisCall(this, data)
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitElvisExpression(this, data)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirElvisCall
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirElvisExpression
|
||||
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirElvisCall
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirElvisExpression
|
||||
|
||||
abstract fun <D> transformLhs(transformer: FirTransformer<D>, data: D): FirElvisCall
|
||||
abstract fun <D> transformLhs(transformer: FirTransformer<D>, data: D): FirElvisExpression
|
||||
|
||||
abstract fun <D> transformRhs(transformer: FirTransformer<D>, data: D): FirElvisCall
|
||||
abstract fun <D> transformRhs(transformer: FirTransformer<D>, data: D): FirElvisExpression
|
||||
}
|
||||
+8
-8
@@ -10,10 +10,10 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirElvisCallImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirElvisExpressionImpl
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -26,15 +26,15 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirElvisCallBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
class FirElvisExpressionBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: FirSourceElement? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
var calleeReference: FirReference = FirStubReference
|
||||
lateinit var lhs: FirExpression
|
||||
lateinit var rhs: FirExpression
|
||||
|
||||
override fun build(): FirElvisCall {
|
||||
return FirElvisCallImpl(
|
||||
override fun build(): FirElvisExpression {
|
||||
return FirElvisExpressionImpl(
|
||||
source,
|
||||
annotations,
|
||||
calleeReference,
|
||||
@@ -44,7 +44,7 @@ class FirElvisCallBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder
|
||||
}
|
||||
|
||||
|
||||
@Deprecated("Modification of 'typeRef' has no impact for FirElvisCallBuilder", level = DeprecationLevel.HIDDEN)
|
||||
@Deprecated("Modification of 'typeRef' has no impact for FirElvisExpressionBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var typeRef: FirTypeRef
|
||||
get() = throw IllegalStateException()
|
||||
set(value) {
|
||||
@@ -53,9 +53,9 @@ class FirElvisCallBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildElvisCall(init: FirElvisCallBuilder.() -> Unit): FirElvisCall {
|
||||
inline fun buildElvisExpression(init: FirElvisExpressionBuilder.() -> Unit): FirElvisExpression {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return FirElvisCallBuilder().apply(init).build()
|
||||
return FirElvisExpressionBuilder().apply(init).build()
|
||||
}
|
||||
+8
-8
@@ -7,7 +7,7 @@ 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.FirElvisCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -19,13 +19,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
internal class FirElvisCallImpl(
|
||||
internal class FirElvisExpressionImpl(
|
||||
override val source: FirSourceElement?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override var calleeReference: FirReference,
|
||||
override var lhs: FirExpression,
|
||||
override var rhs: FirExpression,
|
||||
) : FirElvisCall() {
|
||||
) : FirElvisExpression() {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
@@ -36,7 +36,7 @@ internal class FirElvisCallImpl(
|
||||
rhs.accept(visitor, data)
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElvisCallImpl {
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElvisExpressionImpl {
|
||||
typeRef = typeRef.transformSingle(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformCalleeReference(transformer, data)
|
||||
@@ -45,22 +45,22 @@ internal class FirElvisCallImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirElvisCallImpl {
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirElvisExpressionImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirElvisCallImpl {
|
||||
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirElvisExpressionImpl {
|
||||
calleeReference = calleeReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformLhs(transformer: FirTransformer<D>, data: D): FirElvisCallImpl {
|
||||
override fun <D> transformLhs(transformer: FirTransformer<D>, data: D): FirElvisExpressionImpl {
|
||||
lhs = lhs.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformRhs(transformer: FirTransformer<D>, data: D): FirElvisCallImpl {
|
||||
override fun <D> transformRhs(transformer: FirTransformer<D>, data: D): FirElvisExpressionImpl {
|
||||
rhs = rhs.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -76,7 +76,7 @@ import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessWithoutCallee
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAugmentedArraySetCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirClassReferenceExpression
|
||||
@@ -420,8 +420,8 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
||||
return transformElement(checkNotNullCall, data)
|
||||
}
|
||||
|
||||
open fun transformElvisCall(elvisCall: FirElvisCall, data: D): CompositeTransformResult<FirStatement> {
|
||||
return transformElement(elvisCall, data)
|
||||
open fun transformElvisExpression(elvisExpression: FirElvisExpression, data: D): CompositeTransformResult<FirStatement> {
|
||||
return transformElement(elvisExpression, data)
|
||||
}
|
||||
|
||||
open fun transformArrayOfCall(arrayOfCall: FirArrayOfCall, data: D): CompositeTransformResult<FirStatement> {
|
||||
@@ -916,8 +916,8 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
||||
return transformCheckNotNullCall(checkNotNullCall, data)
|
||||
}
|
||||
|
||||
final override fun visitElvisCall(elvisCall: FirElvisCall, data: D): CompositeTransformResult<FirStatement> {
|
||||
return transformElvisCall(elvisCall, data)
|
||||
final override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: D): CompositeTransformResult<FirStatement> {
|
||||
return transformElvisExpression(elvisExpression, data)
|
||||
}
|
||||
|
||||
final override fun visitArrayOfCall(arrayOfCall: FirArrayOfCall, data: D): CompositeTransformResult<FirStatement> {
|
||||
|
||||
@@ -76,7 +76,7 @@ import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessWithoutCallee
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAugmentedArraySetCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirClassReferenceExpression
|
||||
@@ -278,7 +278,7 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitCheckNotNullCall(checkNotNullCall: FirCheckNotNullCall, data: D): R = visitElement(checkNotNullCall, data)
|
||||
|
||||
open fun visitElvisCall(elvisCall: FirElvisCall, data: D): R = visitElement(elvisCall, data)
|
||||
open fun visitElvisExpression(elvisExpression: FirElvisExpression, data: D): R = visitElement(elvisExpression, data)
|
||||
|
||||
open fun visitArrayOfCall(arrayOfCall: FirArrayOfCall, data: D): R = visitElement(arrayOfCall, data)
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessWithoutCallee
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAugmentedArraySetCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirClassReferenceExpression
|
||||
@@ -418,8 +418,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(checkNotNullCall)
|
||||
}
|
||||
|
||||
open fun visitElvisCall(elvisCall: FirElvisCall) {
|
||||
visitElement(elvisCall)
|
||||
open fun visitElvisExpression(elvisExpression: FirElvisExpression) {
|
||||
visitElement(elvisExpression)
|
||||
}
|
||||
|
||||
open fun visitArrayOfCall(arrayOfCall: FirArrayOfCall) {
|
||||
@@ -914,8 +914,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitCheckNotNullCall(checkNotNullCall)
|
||||
}
|
||||
|
||||
final override fun visitElvisCall(elvisCall: FirElvisCall, data: Nothing?) {
|
||||
visitElvisCall(elvisCall)
|
||||
final override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Nothing?) {
|
||||
visitElvisExpression(elvisExpression)
|
||||
}
|
||||
|
||||
final override fun visitArrayOfCall(arrayOfCall: FirArrayOfCall, data: Nothing?) {
|
||||
|
||||
@@ -1022,10 +1022,10 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
print("!!")
|
||||
}
|
||||
|
||||
override fun visitElvisCall(elvisCall: FirElvisCall) {
|
||||
elvisCall.lhs.accept(this)
|
||||
override fun visitElvisExpression(elvisExpression: FirElvisExpression) {
|
||||
elvisExpression.lhs.accept(this)
|
||||
print(" ?: ")
|
||||
elvisCall.rhs.accept(this)
|
||||
elvisExpression.rhs.accept(this)
|
||||
}
|
||||
|
||||
override fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess) {
|
||||
|
||||
+1
-1
@@ -287,7 +287,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
useTypes(stubReferenceType)
|
||||
}
|
||||
|
||||
builder(elvisCall) {
|
||||
builder(elvisExpression) {
|
||||
default("calleeReference", "FirStubReference")
|
||||
useTypes(stubReferenceType)
|
||||
}
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val qualifiedAccessWithoutCallee = element("QualifiedAccessWithoutCallee", Expression, statement)
|
||||
val qualifiedAccess = element("QualifiedAccess", Expression, qualifiedAccessWithoutCallee, resolvable)
|
||||
val checkNotNullCall = element("CheckNotNullCall", Expression, expression, call, resolvable)
|
||||
val elvisCall = element("ElvisCall", Expression, expression, resolvable)
|
||||
val elvisExpression = element("ElvisExpression", Expression, expression, resolvable)
|
||||
|
||||
val arrayOfCall = element("ArrayOfCall", Expression, expression, call)
|
||||
val arraySetCall = element("AugmentedArraySetCall", Expression, statement)
|
||||
|
||||
+1
-1
@@ -187,7 +187,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
needTransformOtherChildren()
|
||||
}
|
||||
|
||||
elvisCall.configure {
|
||||
elvisExpression.configure {
|
||||
+field("lhs", expression).withTransform()
|
||||
+field("rhs", expression).withTransform()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user