diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt index b356e24e02e..dc533f06c5c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt @@ -898,10 +898,10 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn override fun transformNamedFunction(namedFunction: FirNamedFunction, data: Any?): CompositeTransformResult { val returnTypeRef = namedFunction.returnTypeRef - if ((returnTypeRef !is FirImplicitTypeRef || returnTypeRef is FirResolvedTypeRef) && implicitTypeOnly) { + if ((returnTypeRef !is FirImplicitTypeRef) && implicitTypeOnly) { return namedFunction.compose() } - if (returnTypeRef is FirImplicitTypeRef && returnTypeRef !is FirResolvedTypeRef) { + if (returnTypeRef is FirImplicitTypeRef) { namedFunction.transformReturnTypeRef(StoreType, FirComputingImplicitTypeRef) } @@ -920,10 +920,10 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn return super.transformPropertyAccessor(propertyAccessor, data) } val returnTypeRef = propertyAccessor.returnTypeRef - if ((returnTypeRef !is FirImplicitTypeRef || returnTypeRef is FirResolvedTypeRef) && implicitTypeOnly) { + if (returnTypeRef !is FirImplicitTypeRef && implicitTypeOnly) { return propertyAccessor.compose() } - if (returnTypeRef is FirImplicitTypeRef && returnTypeRef !is FirResolvedTypeRef && data !is FirResolvedTypeRef) { + if (returnTypeRef is FirImplicitTypeRef && data !is FirResolvedTypeRef) { propertyAccessor.transformReturnTypeRef(StoreType, FirComputingImplicitTypeRef) } return if (data is FirResolvedTypeRef && returnTypeRef !is FirResolvedTypeRef) { diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index abc950cb27d..e313700daf8 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -710,7 +710,7 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() { } override fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef) { - print(if (implicitTypeRef is FirImplicitBuiltinTypeRef) "${implicitTypeRef.id}" else "") + print("") } override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability) { @@ -740,10 +740,14 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() { override fun visitResolvedTypeRef(resolvedTypeRef: FirResolvedTypeRef) { resolvedTypeRef.annotations.renderAnnotations() - print("R|") + if (resolvedTypeRef !is FirImplicitBuiltinTypeRef) { + print("R|") + } val coneType = resolvedTypeRef.type print(coneType.render()) - print("|") + if (resolvedTypeRef !is FirImplicitBuiltinTypeRef) { + print("|") + } if (coneType !is ConeKotlinErrorType && coneType !is ConeClassErrorType) { print(coneType.nullability.suffix) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirImplicitBuiltinTypeRef.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirImplicitBuiltinTypeRef.kt index 29790128f1c..92a066de9b7 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirImplicitBuiltinTypeRef.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirImplicitBuiltinTypeRef.kt @@ -11,23 +11,18 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTagImpl import org.jetbrains.kotlin.fir.symbols.StandardClassIds import org.jetbrains.kotlin.fir.types.ConeKotlinType -import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef -import org.jetbrains.kotlin.fir.visitors.FirVisitor import org.jetbrains.kotlin.name.ClassId sealed class FirImplicitBuiltinTypeRef( override val session: FirSession, override val psi: PsiElement?, val id: ClassId -) : FirImplicitTypeRef, FirResolvedTypeRef { +) : FirResolvedTypeRef { override val annotations: List get() = emptyList() override val type: ConeKotlinType = ConeClassTypeImpl(ConeClassLikeLookupTagImpl(id), emptyArray(), false) - - override fun accept(visitor: FirVisitor, data: D): R = - visitor.visitImplicitTypeRef(this, data) } class FirImplicitUnitTypeRef(