[FIR] Add transformConversionTypeRef to FirTypeOperatorCall

This commit is contained in:
Dmitriy Novozhilov
2020-07-13 19:05:05 +03:00
parent 1b78950ebb
commit 1c622a5a3f
3 changed files with 20 additions and 5 deletions
@@ -29,4 +29,8 @@ abstract class FirTypeOperatorCall : FirExpression(), FirCall {
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypeOperatorCall
abstract fun <D> transformConversionTypeRef(transformer: FirTransformer<D>, data: D): FirTypeOperatorCall
abstract fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirTypeOperatorCall
}
@@ -36,10 +36,8 @@ internal class FirTypeOperatorCallImpl(
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirTypeOperatorCallImpl {
typeRef = typeRef.transformSingle(transformer, data)
transformAnnotations(transformer, data)
argumentList = argumentList.transformSingle(transformer, data)
conversionTypeRef = conversionTypeRef.transformSingle(transformer, data)
transformConversionTypeRef(transformer, data)
transformOtherChildren(transformer, data)
return this
}
@@ -48,6 +46,18 @@ internal class FirTypeOperatorCallImpl(
return this
}
override fun <D> transformConversionTypeRef(transformer: FirTransformer<D>, data: D): FirTypeOperatorCallImpl {
conversionTypeRef = conversionTypeRef.transformSingle(transformer, data)
return this
}
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirTypeOperatorCallImpl {
typeRef = typeRef.transformSingle(transformer, data)
transformAnnotations(transformer, data)
argumentList = argumentList.transformSingle(transformer, data)
return this
}
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
typeRef = newTypeRef
}
@@ -218,7 +218,8 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
typeOperatorCall.configure {
+field("operation", operationType)
+field("conversionTypeRef", typeRef)
+field("conversionTypeRef", typeRef).withTransform()
needTransformOtherChildren()
}
whenBranch.configure {