[FIR] Get rid of StoreType transformer
This commit is contained in:
committed by
Space Team
parent
4ba92f66c0
commit
edd7468d5b
+1
-1
@@ -623,7 +623,7 @@ class FirCallCompletionResultsWriterTransformer(
|
||||
if (finalType != null) {
|
||||
if (anonymousFunction.returnTypeRef !is FirImplicitUnitTypeRef) {
|
||||
val resultType = anonymousFunction.returnTypeRef.withReplacedConeType(finalType)
|
||||
anonymousFunction.transformReturnTypeRef(StoreType, resultType)
|
||||
anonymousFunction.replaceReturnTypeRef(resultType)
|
||||
}
|
||||
needUpdateLambdaType = true
|
||||
}
|
||||
|
||||
+2
-2
@@ -152,8 +152,8 @@ open class FirTypeResolveTransformer(
|
||||
}
|
||||
|
||||
private fun setAccessorTypesByPropertyType(property: FirProperty) {
|
||||
property.getter?.transformReturnTypeRef(StoreType, property.returnTypeRef)
|
||||
property.setter?.valueParameters?.map { it.transformReturnTypeRef(StoreType, property.returnTypeRef) }
|
||||
property.getter?.replaceReturnTypeRef(property.returnTypeRef)
|
||||
property.setter?.valueParameters?.map { it.replaceReturnTypeRef(property.returnTypeRef) }
|
||||
}
|
||||
|
||||
override fun transformField(field: FirField, data: Any?): FirField = whileAnalysing(field) {
|
||||
|
||||
+6
-19
@@ -6,27 +6,15 @@
|
||||
package org.jetbrains.kotlin.fir.resolve.transformers
|
||||
|
||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.copyWithNewSourceKind
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinTypeProjectionOut
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
|
||||
internal object StoreType : FirDefaultTransformer<FirTypeRef>() {
|
||||
override fun <E : FirElement> transformElement(element: E, data: FirTypeRef): E {
|
||||
return element
|
||||
}
|
||||
|
||||
override fun transformTypeRef(typeRef: FirTypeRef, data: FirTypeRef): FirTypeRef {
|
||||
return data
|
||||
}
|
||||
}
|
||||
import org.jetbrains.kotlin.fir.types.coneType
|
||||
import org.jetbrains.kotlin.fir.types.createArrayType
|
||||
|
||||
internal fun FirValueParameter.transformVarargTypeToArrayType() {
|
||||
if (isVararg) {
|
||||
@@ -44,8 +32,7 @@ internal fun FirCallableDeclaration.transformTypeToArrayType() {
|
||||
) return
|
||||
val returnType = returnTypeRef.coneType
|
||||
|
||||
transformReturnTypeRef(
|
||||
StoreType,
|
||||
replaceReturnTypeRef(
|
||||
buildResolvedTypeRef {
|
||||
source = returnTypeRef.source
|
||||
type = ConeKotlinTypeProjectionOut(returnType).createArrayType()
|
||||
|
||||
+2
-4
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.*
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildAnonymousFunctionCopy
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildContextReceiver
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildReceiverParameterCopy
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor
|
||||
@@ -447,7 +446,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirAbstractBodyResolve
|
||||
isSetter -> {
|
||||
val valueParameter = valueParameters.firstOrNull() ?: return
|
||||
if (valueParameter.returnTypeRef is FirImplicitTypeRef) {
|
||||
valueParameter.transformReturnTypeRef(StoreType, propertyTypeRef)
|
||||
valueParameter.replaceReturnTypeRef(propertyTypeRef)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1130,8 +1129,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirAbstractBodyResolve
|
||||
|
||||
override fun transformValueParameter(valueParameter: FirValueParameter, data: Any?): FirStatement = whileAnalysing(valueParameter) {
|
||||
if (valueParameter.returnTypeRef is FirImplicitTypeRef) {
|
||||
valueParameter.transformReturnTypeRef(
|
||||
StoreType,
|
||||
valueParameter.replaceReturnTypeRef(
|
||||
valueParameter.returnTypeRef.resolvedTypeFromPrototype(
|
||||
ConeErrorType(
|
||||
ConeSimpleDiagnostic(
|
||||
|
||||
Reference in New Issue
Block a user