diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt index 31d4b492a3e..06a6cdd30ed 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt @@ -7,12 +7,12 @@ package org.jetbrains.kotlin.fir.resolve.transformers import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.FirResolvePhase +import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic import org.jetbrains.kotlin.fir.diagnostics.ConeUnexpectedTypeArgumentsError import org.jetbrains.kotlin.fir.resolve.typeResolver import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef -import org.jetbrains.kotlin.fir.types.builder.buildResolvedFunctionTypeRef import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult import org.jetbrains.kotlin.fir.visitors.compose @@ -45,15 +45,19 @@ class FirSpecificTypeResolverTransformer( override fun transformFunctionTypeRef(functionTypeRef: FirFunctionTypeRef, data: FirScope): CompositeTransformResult { functionTypeRef.transformChildren(this, data) - return buildResolvedFunctionTypeRef { - source = functionTypeRef.source - type = typeResolver.resolveType(functionTypeRef, data, areBareTypesAllowed).takeIfAcceptable() ?: return functionTypeRef.compose() - isMarkedNullable = functionTypeRef.isMarkedNullable - isSuspend = functionTypeRef.isSuspend - receiverTypeRef = functionTypeRef.receiverTypeRef - returnTypeRef = functionTypeRef.returnTypeRef - annotations += functionTypeRef.annotations - valueParameters += functionTypeRef.valueParameters + val resolvedType = typeResolver.resolveType(functionTypeRef, data, areBareTypesAllowed).takeIfAcceptable() + return if (resolvedType != null && resolvedType !is ConeClassErrorType) { + buildResolvedTypeRef { + source = functionTypeRef.source + type = resolvedType + annotations += functionTypeRef.annotations + } + } else { + buildErrorTypeRef { + source = functionTypeRef.source + diagnostic = (resolvedType as? ConeClassErrorType)?.diagnostic + ?: ConeSimpleDiagnostic("Unresolved functional type: ${functionTypeRef.render()}") + } }.compose() } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirComposedSuperTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirComposedSuperTypeRef.kt index 1ed11b2f99c..da01644ee59 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirComposedSuperTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirComposedSuperTypeRef.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.types -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -15,7 +14,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirComposedSuperTypeRef : FirPureAbstractElement(), FirTypeRef { +abstract class FirComposedSuperTypeRef : FirTypeRef() { abstract override val source: FirSourceElement? abstract override val annotations: List abstract val superTypeRefs: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDynamicTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDynamicTypeRef.kt index 450996ff36e..5ecfefcf86c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDynamicTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDynamicTypeRef.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.types -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -15,7 +14,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirDynamicTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability { +abstract class FirDynamicTypeRef : FirTypeRefWithNullability() { abstract override val source: FirSourceElement? abstract override val annotations: List abstract override val isMarkedNullable: Boolean diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirFunctionTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirFunctionTypeRef.kt index 276efacf16c..c7ceacf9f6f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirFunctionTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirFunctionTypeRef.kt @@ -15,16 +15,16 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirFunctionTypeRef : FirTypeRefWithNullability { - override val source: FirSourceElement? - override val annotations: List - override val isMarkedNullable: Boolean - val receiverTypeRef: FirTypeRef? - val valueParameters: List - val returnTypeRef: FirTypeRef - val isSuspend: Boolean +abstract class FirFunctionTypeRef : FirTypeRefWithNullability() { + abstract override val source: FirSourceElement? + abstract override val annotations: List + abstract override val isMarkedNullable: Boolean + abstract val receiverTypeRef: FirTypeRef? + abstract val valueParameters: List + abstract val returnTypeRef: FirTypeRef + abstract val isSuspend: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitFunctionTypeRef(this, data) - override fun transformAnnotations(transformer: FirTransformer, data: D): FirFunctionTypeRef + abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirFunctionTypeRef } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirImplicitTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirImplicitTypeRef.kt index 6f9aa7f99a1..233291e0006 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirImplicitTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirImplicitTypeRef.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.types -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -15,7 +14,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirImplicitTypeRef : FirPureAbstractElement(), FirTypeRef { +abstract class FirImplicitTypeRef : FirTypeRef() { abstract override val source: FirSourceElement? abstract override val annotations: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedFunctionTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedFunctionTypeRef.kt deleted file mode 100644 index 91424d5ff6a..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedFunctionTypeRef.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir.types - -import org.jetbrains.kotlin.fir.FirSourceElement -import org.jetbrains.kotlin.fir.declarations.FirValueParameter -import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall -import org.jetbrains.kotlin.fir.visitors.* - -/* - * This file was generated automatically - * DO NOT MODIFY IT MANUALLY - */ - -abstract class FirResolvedFunctionTypeRef : FirResolvedTypeRef(), FirFunctionTypeRef { - abstract override val source: FirSourceElement? - abstract override val annotations: List - abstract override val type: ConeKotlinType - abstract override val delegatedTypeRef: FirTypeRef? - abstract override val isMarkedNullable: Boolean - abstract override val receiverTypeRef: FirTypeRef? - abstract override val valueParameters: List - abstract override val returnTypeRef: FirTypeRef - abstract override val isSuspend: Boolean - - override fun accept(visitor: FirVisitor, data: D): R = visitor.visitResolvedFunctionTypeRef(this, data) - - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirResolvedFunctionTypeRef -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedTypeRef.kt index b95d543881a..95b553c4783 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedTypeRef.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.types -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -15,7 +14,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirResolvedTypeRef : FirPureAbstractElement(), FirTypeRef { +abstract class FirResolvedTypeRef : FirTypeRef() { abstract override val source: FirSourceElement? abstract override val annotations: List abstract val type: ConeKotlinType diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRef.kt index 0e08b829c76..9ba69644d9b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRef.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.fir.types import org.jetbrains.kotlin.fir.FirAnnotationContainer +import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -15,11 +16,11 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirTypeRef : FirAnnotationContainer { - override val source: FirSourceElement? - override val annotations: List +abstract class FirTypeRef : FirPureAbstractElement(), FirAnnotationContainer { + abstract override val source: FirSourceElement? + abstract override val annotations: List override fun accept(visitor: FirVisitor, data: D): R = visitor.visitTypeRef(this, data) - override fun transformAnnotations(transformer: FirTransformer, data: D): FirTypeRef + abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirTypeRef } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRefWithNullability.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRefWithNullability.kt index 77def82d872..b7c5ba7a8bb 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRefWithNullability.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirTypeRefWithNullability.kt @@ -14,12 +14,12 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirTypeRefWithNullability : FirTypeRef { - override val source: FirSourceElement? - override val annotations: List - val isMarkedNullable: Boolean +abstract class FirTypeRefWithNullability : FirTypeRef() { + abstract override val source: FirSourceElement? + abstract override val annotations: List + abstract val isMarkedNullable: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitTypeRefWithNullability(this, data) - override fun transformAnnotations(transformer: FirTransformer, data: D): FirTypeRefWithNullability + abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirTypeRefWithNullability } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirUserTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirUserTypeRef.kt index cba919c0143..1613a0dd85c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirUserTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirUserTypeRef.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.types -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -15,7 +14,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirUserTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability { +abstract class FirUserTypeRef : FirTypeRefWithNullability() { abstract override val source: FirSourceElement? abstract override val annotations: List abstract override val isMarkedNullable: Boolean diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirFunctionTypeRefBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirFunctionTypeRefBuilder.kt index a930a5f4f76..0e9064c6a70 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirFunctionTypeRefBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirFunctionTypeRefBuilder.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.types.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedFunctionTypeRefBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedFunctionTypeRefBuilder.kt deleted file mode 100644 index 2e0c1a58aa8..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedFunctionTypeRefBuilder.kt +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir.types.builder - -import kotlin.contracts.* -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.declarations.FirValueParameter -import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall -import org.jetbrains.kotlin.fir.types.ConeKotlinType -import org.jetbrains.kotlin.fir.types.FirResolvedFunctionTypeRef -import org.jetbrains.kotlin.fir.types.FirTypeRef -import org.jetbrains.kotlin.fir.types.impl.FirResolvedFunctionTypeRefImpl -import org.jetbrains.kotlin.fir.visitors.* - -/* - * This file was generated automatically - * DO NOT MODIFY IT MANUALLY - */ - -@FirBuilderDsl -class FirResolvedFunctionTypeRefBuilder : FirAnnotationContainerBuilder { - override var source: FirSourceElement? = null - override val annotations: MutableList = mutableListOf() - lateinit var type: ConeKotlinType - var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull() - var receiverTypeRef: FirTypeRef? = null - val valueParameters: MutableList = mutableListOf() - lateinit var returnTypeRef: FirTypeRef - var isSuspend: Boolean by kotlin.properties.Delegates.notNull() - - override fun build(): FirResolvedFunctionTypeRef { - return FirResolvedFunctionTypeRefImpl( - source, - annotations, - type, - isMarkedNullable, - receiverTypeRef, - valueParameters, - returnTypeRef, - isSuspend, - ) - } - -} - -@OptIn(ExperimentalContracts::class) -inline fun buildResolvedFunctionTypeRef(init: FirResolvedFunctionTypeRefBuilder.() -> Unit): FirResolvedFunctionTypeRef { - contract { - callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE) - } - return FirResolvedFunctionTypeRefBuilder().apply(init).build() -} - -@OptIn(ExperimentalContracts::class) -inline fun buildResolvedFunctionTypeRefCopy(original: FirResolvedFunctionTypeRef, init: FirResolvedFunctionTypeRefBuilder.() -> Unit): FirResolvedFunctionTypeRef { - contract { - callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE) - } - val copyBuilder = FirResolvedFunctionTypeRefBuilder() - copyBuilder.source = original.source - copyBuilder.annotations.addAll(original.annotations) - copyBuilder.type = original.type - copyBuilder.isMarkedNullable = original.isMarkedNullable - copyBuilder.receiverTypeRef = original.receiverTypeRef - copyBuilder.valueParameters.addAll(original.valueParameters) - copyBuilder.returnTypeRef = original.returnTypeRef - copyBuilder.isSuspend = original.isSuspend - return copyBuilder.apply(init).build() -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirFunctionTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirFunctionTypeRefImpl.kt index 9ce5b378238..0e5b3242d9c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirFunctionTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirFunctionTypeRefImpl.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.types.impl -import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -26,7 +25,7 @@ internal class FirFunctionTypeRefImpl( override val valueParameters: MutableList, override var returnTypeRef: FirTypeRef, override val isSuspend: Boolean, -) : FirPureAbstractElement(), FirFunctionTypeRef { +) : FirFunctionTypeRef() { override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } receiverTypeRef?.accept(visitor, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedFunctionTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedFunctionTypeRefImpl.kt deleted file mode 100644 index 087a76d8ed9..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedFunctionTypeRefImpl.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir.types.impl - -import org.jetbrains.kotlin.fir.FirSourceElement -import org.jetbrains.kotlin.fir.declarations.FirValueParameter -import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall -import org.jetbrains.kotlin.fir.types.ConeKotlinType -import org.jetbrains.kotlin.fir.types.FirResolvedFunctionTypeRef -import org.jetbrains.kotlin.fir.types.FirTypeRef -import org.jetbrains.kotlin.fir.visitors.* - -/* - * This file was generated automatically - * DO NOT MODIFY IT MANUALLY - */ - -internal class FirResolvedFunctionTypeRefImpl( - override val source: FirSourceElement?, - override val annotations: MutableList, - override val type: ConeKotlinType, - override val isMarkedNullable: Boolean, - override var receiverTypeRef: FirTypeRef?, - override val valueParameters: MutableList, - override var returnTypeRef: FirTypeRef, - override val isSuspend: Boolean, -) : FirResolvedFunctionTypeRef() { - override val delegatedTypeRef: FirTypeRef? get() = null - - override fun acceptChildren(visitor: FirVisitor, data: D) { - annotations.forEach { it.accept(visitor, data) } - receiverTypeRef?.accept(visitor, data) - valueParameters.forEach { it.accept(visitor, data) } - returnTypeRef.accept(visitor, data) - } - - override fun transformChildren(transformer: FirTransformer, data: D): FirResolvedFunctionTypeRefImpl { - transformAnnotations(transformer, data) - receiverTypeRef = receiverTypeRef?.transformSingle(transformer, data) - valueParameters.transformInplace(transformer, data) - returnTypeRef = returnTypeRef.transformSingle(transformer, data) - return this - } - - override fun transformAnnotations(transformer: FirTransformer, data: D): FirResolvedFunctionTypeRefImpl { - annotations.transformInplace(transformer, data) - return this - } -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt index 4de15badf1c..74898edf277 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt @@ -123,7 +123,6 @@ import org.jetbrains.kotlin.fir.types.FirTypeRefWithNullability import org.jetbrains.kotlin.fir.types.FirUserTypeRef import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef import org.jetbrains.kotlin.fir.types.FirFunctionTypeRef -import org.jetbrains.kotlin.fir.types.FirResolvedFunctionTypeRef import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.FirComposedSuperTypeRef import org.jetbrains.kotlin.fir.contracts.FirEffectDeclaration @@ -610,10 +609,6 @@ abstract class FirTransformer : FirVisitor { - return transformElement(resolvedFunctionTypeRef, data) - } - open fun transformImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): CompositeTransformResult { return transformElement(implicitTypeRef, data) } @@ -1114,10 +1109,6 @@ abstract class FirTransformer : FirVisitor { - return transformResolvedFunctionTypeRef(resolvedFunctionTypeRef, data) - } - final override fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): CompositeTransformResult { return transformImplicitTypeRef(implicitTypeRef, data) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt index 598e6ecdbe9..1f6b6f9c4de 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt @@ -123,7 +123,6 @@ import org.jetbrains.kotlin.fir.types.FirTypeRefWithNullability import org.jetbrains.kotlin.fir.types.FirUserTypeRef import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef import org.jetbrains.kotlin.fir.types.FirFunctionTypeRef -import org.jetbrains.kotlin.fir.types.FirResolvedFunctionTypeRef import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.FirComposedSuperTypeRef import org.jetbrains.kotlin.fir.contracts.FirEffectDeclaration @@ -374,8 +373,6 @@ abstract class FirVisitor { open fun visitFunctionTypeRef(functionTypeRef: FirFunctionTypeRef, data: D): R = visitElement(functionTypeRef, data) - open fun visitResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef, data: D): R = visitElement(resolvedFunctionTypeRef, data) - open fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): R = visitElement(implicitTypeRef, data) open fun visitComposedSuperTypeRef(composedSuperTypeRef: FirComposedSuperTypeRef, data: D): R = visitElement(composedSuperTypeRef, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt index 09fd7799d2e..8d489418a2d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt @@ -123,7 +123,6 @@ import org.jetbrains.kotlin.fir.types.FirTypeRefWithNullability import org.jetbrains.kotlin.fir.types.FirUserTypeRef import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef import org.jetbrains.kotlin.fir.types.FirFunctionTypeRef -import org.jetbrains.kotlin.fir.types.FirResolvedFunctionTypeRef import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.FirComposedSuperTypeRef import org.jetbrains.kotlin.fir.contracts.FirEffectDeclaration @@ -608,10 +607,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitElement(functionTypeRef) } - open fun visitResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef) { - visitElement(resolvedFunctionTypeRef) - } - open fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef) { visitElement(implicitTypeRef) } @@ -1112,10 +1107,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitFunctionTypeRef(functionTypeRef) } - final override fun visitResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef, data: Nothing?) { - visitResolvedFunctionTypeRef(resolvedFunctionTypeRef) - } - final override fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: Nothing?) { visitImplicitTypeRef(implicitTypeRef) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt index 34116e83b4f..1d15a39caf9 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt @@ -39,9 +39,6 @@ fun R.copyWithNewSourceKind(newKind: FirFakeSourceElementKind): qualifier += typeRef.qualifier annotations += typeRef.annotations } - is FirResolvedFunctionTypeRef -> buildResolvedFunctionTypeRefCopy(typeRef) { - source = newSource - } is FirImplicitTypeRef -> buildImplicitTypeRefCopy(typeRef) { source = newSource } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt index a75a872f1bc..ba78744865e 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt @@ -24,10 +24,6 @@ abstract class FirDefaultTransformer : FirTransformer() { return transformResolvedTypeRef(errorTypeRef, data) } - override fun transformResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef, data: D): CompositeTransformResult { - return transformResolvedTypeRef(resolvedFunctionTypeRef, data) - } - override fun transformTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): CompositeTransformResult { return transformTypeRef(typeRefWithNullability, data) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt index 17c2b263624..c5ac76f754c 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt @@ -23,10 +23,6 @@ abstract class FirDefaultVisitor : FirVisitor() { return visitResolvedTypeRef(errorTypeRef, data) } - override fun visitResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef, data: D): R { - return visitResolvedTypeRef(resolvedFunctionTypeRef, data) - } - override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): R { return visitTypeRef(typeRefWithNullability, data) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt index 5aaeeba747c..4093a4ba746 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt @@ -23,10 +23,6 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() { return visitResolvedTypeRef(errorTypeRef) } - override fun visitResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef) { - return visitResolvedTypeRef(resolvedFunctionTypeRef) - } - override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability) { return visitTypeRef(typeRefWithNullability) } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt index 52ba8e8fe9b..4ec9a7b9802 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt @@ -228,10 +228,6 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree withCopy() } - builder(resolvedFunctionTypeRef) { - withCopy() - } - builder(implicitTypeRef) { withCopy() } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt index e3adb5931d0..780f0863799 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt @@ -146,7 +146,6 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val userTypeRef = element("UserTypeRef", TypeRef, typeRefWithNullability) val dynamicTypeRef = element("DynamicTypeRef", TypeRef, typeRefWithNullability) val functionTypeRef = element("FunctionTypeRef", TypeRef, typeRefWithNullability) - val resolvedFunctionTypeRef = element("ResolvedFunctionTypeRef", TypeRef, resolvedTypeRef, functionTypeRef) val implicitTypeRef = element("ImplicitTypeRef", TypeRef, typeRef) val composedSuperTypeRef = element("ComposedSuperTypeRef", TypeRef, typeRef) diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt index 91b31083f0e..ae7c8340585 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt @@ -370,13 +370,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() useTypes(errorTypeRefImpl, coneStubDiagnosticType) } - impl(resolvedFunctionTypeRef) { - default("delegatedTypeRef") { - value = "null" - withGetter = true - } - } - impl(errorFunction) { defaultNull("receiverTypeRef", "body", withGetter = true) default("returnTypeRef", "FirErrorTypeRefImpl(null, diagnostic)") diff --git a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt index 9d0b97aec25..2dfee53961c 100644 --- a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt +++ b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt @@ -489,16 +489,6 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() { data.append("[ERROR : ${errorTypeRef.diagnostic.reason}]") } - override fun visitResolvedFunctionTypeRef(resolvedFunctionTypeRef: FirResolvedFunctionTypeRef, data: StringBuilder) { - resolvedFunctionTypeRef.receiverTypeRef?.let { - it.accept(this, data) - data.append(".") - } - visitValueParameters(resolvedFunctionTypeRef.valueParameters, data) - data.append(" -> ") - resolvedFunctionTypeRef.returnTypeRef.accept(this, data) - } - override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: StringBuilder) { if (typeRefWithNullability.isMarkedNullable) { data.append("?")