diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index c204a2eb37e..fb6b1067269 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -416,7 +416,9 @@ class Fir2IrDeclarationStorage( val name = simpleFunction?.name ?: if (isLambda) Name.special("") else Name.special("") val visibility = simpleFunction?.visibility ?: Visibilities.LOCAL - val isSuspend = if (isLambda) (function as FirAnonymousFunction).typeRef.isSuspend else simpleFunction?.isSuspend == true + val isSuspend = + if (isLambda) ((function as FirAnonymousFunction).typeRef as? FirResolvedTypeRef)?.isSuspend == true + else simpleFunction?.isSuspend == true val created = function.convertWithOffsets { startOffset, endOffset -> enterScope(descriptor) val result = symbolTable.declareSimpleFunction(startOffset, endOffset, origin, descriptor) { symbol -> 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 ec0b6f71074..1ed11b2f99c 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 @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirComposedSuperTypeRef : FirPureAbstractElement(), FirTypeRef { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract val superTypeRefs: List override fun accept(visitor: FirVisitor, data: D): R = visitor.visitComposedSuperTypeRef(this, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt index e5583399dd3..b227a998862 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirDelegatedTypeRef : FirPureAbstractElement(), FirTypeRef { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract val delegate: FirExpression? abstract val typeRef: FirTypeRef 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 d9dbefe144b..450996ff36e 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 @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirDynamicTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract override val isMarkedNullable: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitDynamicTypeRef(this, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirErrorTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirErrorTypeRef.kt index e1ca73ed746..4cc3d4052ff 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirErrorTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirErrorTypeRef.kt @@ -19,9 +19,9 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirErrorTypeRef : FirResolvedTypeRef(), FirDiagnosticHolder { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract override val type: ConeKotlinType abstract override val delegatedTypeRef: FirTypeRef? + abstract override val isSuspend: Boolean abstract override val diagnostic: ConeDiagnostic override fun accept(visitor: FirVisitor, data: D): R = visitor.visitErrorTypeRef(this, data) 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 0d2e253ed88..276efacf16c 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 @@ -18,11 +18,11 @@ import org.jetbrains.kotlin.fir.visitors.* interface FirFunctionTypeRef : FirTypeRefWithNullability { override val source: FirSourceElement? override val annotations: List - override val isSuspend: Boolean override val isMarkedNullable: Boolean val receiverTypeRef: FirTypeRef? val valueParameters: List val returnTypeRef: FirTypeRef + val isSuspend: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitFunctionTypeRef(this, data) 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 7c9eaab7e6c..6f9aa7f99a1 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 @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirImplicitTypeRef : FirPureAbstractElement(), FirTypeRef { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitImplicitTypeRef(this, data) 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 index 61655e8da02..1dcd9610696 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedFunctionTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirResolvedFunctionTypeRef.kt @@ -18,9 +18,9 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirResolvedFunctionTypeRef : FirResolvedTypeRef(), FirFunctionTypeRef { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract override val type: ConeKotlinType abstract override val delegatedTypeRef: FirTypeRef? + abstract override val isSuspend: Boolean abstract override val isMarkedNullable: Boolean abstract override val receiverTypeRef: FirTypeRef? abstract override val valueParameters: List 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 0f7511380dc..0f2e43fb27d 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 @@ -18,9 +18,9 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirResolvedTypeRef : FirPureAbstractElement(), FirTypeRef { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract val type: ConeKotlinType abstract val delegatedTypeRef: FirTypeRef? + abstract val isSuspend: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitResolvedTypeRef(this, data) 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 bee528d2c2d..0e08b829c76 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 @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.* interface FirTypeRef : FirAnnotationContainer { override val source: FirSourceElement? override val annotations: List - val isSuspend: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitTypeRef(this, data) 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 d185ecf0fd4..77def82d872 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 @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.visitors.* interface FirTypeRefWithNullability : FirTypeRef { override val source: FirSourceElement? override val annotations: List - override val isSuspend: Boolean val isMarkedNullable: Boolean override fun accept(visitor: FirVisitor, data: D): R = visitor.visitTypeRefWithNullability(this, data) 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 6bef706be4b..cba919c0143 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 @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirUserTypeRef : FirPureAbstractElement(), FirTypeRefWithNullability { abstract override val source: FirSourceElement? abstract override val annotations: List - abstract override val isSuspend: Boolean abstract override val isMarkedNullable: Boolean abstract val qualifier: List 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 a9330dc6fee..720eaff7685 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 @@ -26,21 +26,21 @@ import org.jetbrains.kotlin.fir.visitors.* class FirFunctionTypeRefBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null override val annotations: MutableList = mutableListOf() - var isSuspend: Boolean by kotlin.properties.Delegates.notNull() 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(): FirFunctionTypeRef { return FirFunctionTypeRefImpl( source, annotations, - isSuspend, isMarkedNullable, receiverTypeRef, valueParameters, returnTypeRef, + isSuspend, ) } 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 index 8f2b5c6b70c..cf873986592 100644 --- 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 @@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.* class FirResolvedFunctionTypeRefBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null override val annotations: MutableList = mutableListOf() - var isSuspend: Boolean by kotlin.properties.Delegates.notNull() lateinit var type: ConeKotlinType + var isSuspend: Boolean by kotlin.properties.Delegates.notNull() var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull() var receiverTypeRef: FirTypeRef? = null val valueParameters: MutableList = mutableListOf() @@ -37,8 +37,8 @@ class FirResolvedFunctionTypeRefBuilder : FirAnnotationContainerBuilder { return FirResolvedFunctionTypeRefImpl( source, annotations, - isSuspend, type, + isSuspend, isMarkedNullable, receiverTypeRef, valueParameters, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedTypeRefBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedTypeRefBuilder.kt index 81845f21e8d..d092d1e2c43 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedTypeRefBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirResolvedTypeRefBuilder.kt @@ -25,17 +25,17 @@ import org.jetbrains.kotlin.fir.visitors.* class FirResolvedTypeRefBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null override val annotations: MutableList = mutableListOf() - var isSuspend: Boolean = false lateinit var type: ConeKotlinType var delegatedTypeRef: FirTypeRef? = null + var isSuspend: Boolean = false override fun build(): FirResolvedTypeRef { return FirResolvedTypeRefImpl( source, annotations, - isSuspend, type, delegatedTypeRef, + isSuspend, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirComposedSuperTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirComposedSuperTypeRefImpl.kt index 0e4e1f66174..f217189009e 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirComposedSuperTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirComposedSuperTypeRefImpl.kt @@ -21,8 +21,6 @@ internal class FirComposedSuperTypeRefImpl( override val annotations: MutableList, override val superTypeRefs: MutableList, ) : FirComposedSuperTypeRef() { - override val isSuspend: Boolean = false - override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } superTypeRefs.forEach { it.accept(visitor, data) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt index 178b4c753eb..c5d46cd33c6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt @@ -23,7 +23,6 @@ internal class FirDelegatedTypeRefImpl( ) : FirDelegatedTypeRef() { override val source: FirSourceElement? get() = typeRef.source override val annotations: List get() = typeRef.annotations - override val isSuspend: Boolean = false override fun acceptChildren(visitor: FirVisitor, data: D) { delegate?.accept(visitor, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDynamicTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDynamicTypeRefImpl.kt index 536d2d6a3ef..54a62086e0b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDynamicTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDynamicTypeRefImpl.kt @@ -20,8 +20,6 @@ internal class FirDynamicTypeRefImpl( override val annotations: MutableList, override val isMarkedNullable: Boolean, ) : FirDynamicTypeRef() { - override val isSuspend: Boolean = false - override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirErrorTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirErrorTypeRefImpl.kt index e03557624ce..0cf145cf959 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirErrorTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirErrorTypeRefImpl.kt @@ -24,9 +24,9 @@ internal class FirErrorTypeRefImpl( override val diagnostic: ConeDiagnostic, ) : FirErrorTypeRef() { override val annotations: MutableList = mutableListOf() - override val isSuspend: Boolean = false override val type: ConeKotlinType = ConeClassErrorType(diagnostic.reason) override val delegatedTypeRef: FirTypeRef? get() = null + override val isSuspend: Boolean = false override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } 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 30ab129cbf4..9ce5b378238 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 @@ -21,11 +21,11 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirFunctionTypeRefImpl( override val source: FirSourceElement?, override val annotations: MutableList, - override val isSuspend: Boolean, override val isMarkedNullable: Boolean, override var receiverTypeRef: FirTypeRef?, override val valueParameters: MutableList, override var returnTypeRef: FirTypeRef, + override val isSuspend: Boolean, ) : FirPureAbstractElement(), FirFunctionTypeRef { override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirImplicitTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirImplicitTypeRefImpl.kt index 4b43f1a3814..c8eda4c2d94 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirImplicitTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirImplicitTypeRefImpl.kt @@ -19,7 +19,6 @@ internal class FirImplicitTypeRefImpl( override val source: FirSourceElement?, ) : FirImplicitTypeRef() { override val annotations: List get() = emptyList() - override val isSuspend: Boolean = false override fun acceptChildren(visitor: FirVisitor, data: D) { } 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 index a0443ee0011..dbd457749c1 100644 --- 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 @@ -21,8 +21,8 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirResolvedFunctionTypeRefImpl( override val source: FirSourceElement?, override val annotations: MutableList, - override val isSuspend: Boolean, override val type: ConeKotlinType, + override val isSuspend: Boolean, override val isMarkedNullable: Boolean, override var receiverTypeRef: FirTypeRef?, override val valueParameters: MutableList, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedTypeRefImpl.kt index 3c489436769..3eb501a63e6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirResolvedTypeRefImpl.kt @@ -20,9 +20,9 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirResolvedTypeRefImpl( override val source: FirSourceElement?, override val annotations: MutableList, - override val isSuspend: Boolean, override val type: ConeKotlinType, override var delegatedTypeRef: FirTypeRef?, + override val isSuspend: Boolean, ) : FirResolvedTypeRef() { override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } 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 240503b1a37..fe8bcc4e8fd 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 @@ -22,8 +22,7 @@ sealed class FirImplicitBuiltinTypeRef( override val source: FirSourceElement?, val id: ClassId, typeArguments: Array = emptyArray(), - isNullable: Boolean = false, - override val isSuspend: Boolean = false + isNullable: Boolean = false ) : FirResolvedTypeRef() { override val annotations: List get() = emptyList() @@ -33,6 +32,9 @@ sealed class FirImplicitBuiltinTypeRef( override val delegatedTypeRef: FirTypeRef? get() = null + override val isSuspend: Boolean + get() = false + override fun acceptChildren(visitor: FirVisitor, data: D) {} override fun transformChildren(transformer: FirTransformer, data: D): FirElement { diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirUserTypeRefImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirUserTypeRefImpl.kt index 220fda1b631..601df3e4c2e 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirUserTypeRefImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/impl/FirUserTypeRefImpl.kt @@ -19,8 +19,7 @@ open class FirUserTypeRefImpl( override val source: FirSourceElement?, override val isMarkedNullable: Boolean, override val qualifier: MutableList, - override val annotations: MutableList, - override val isSuspend: Boolean = false + override val annotations: MutableList ) : FirUserTypeRef(), FirAnnotationContainer { override fun acceptChildren(visitor: FirVisitor, data: D) { 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 1efeba5cb60..be39864fc37 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 @@ -399,23 +399,12 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() useTypes(errorTypeRefImpl) } - impl(dynamicTypeRef) { - defaultFalse("isSuspend") - } - - impl(functionTypeRef) { - // Note that we intentionally do _not_ set default value (false) for `isSuspend`, since function type reference is the only - // place where type modifier `suspend` matters. - } - + impl(functionTypeRef) impl(implicitTypeRef) { defaultEmptyList("annotations") - defaultFalse("isSuspend") } - impl(composedSuperTypeRef) { - defaultFalse("isSuspend") - } + impl(composedSuperTypeRef) impl(reference, "FirStubReference") { default("source") { @@ -466,7 +455,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() delegate = "typeRef" } } - defaultFalse("isSuspend") } noImpl(userTypeRef) diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index b40528c09fc..5295992b78f 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -530,12 +530,12 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild typeRef.configure { +annotations - +booleanField("isSuspend") } resolvedTypeRef.configure { +field("type", coneKotlinTypeType) +field("delegatedTypeRef", typeRef, nullable = true) + +booleanField("isSuspend") } delegatedTypeRef.configure { @@ -555,6 +555,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +field("receiverTypeRef", typeRef, nullable = true) +valueParameters +returnTypeRef + +booleanField("isSuspend") } composedSuperTypeRef.configure {