K2: handle suspend anonymous functions properly in various compiler parts
#KT-58332 Fixed
This commit is contained in:
committed by
Space Team
parent
aec0def5ca
commit
0906258d03
+2
-1
@@ -271,8 +271,9 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
defaultNull("invocationKind", "label", "body", "controlFlowGraphReference")
|
||||
default("inlineStatus", "InlineStatus.Unknown")
|
||||
default("contractDescription", "FirEmptyContractDescription")
|
||||
default("status", "FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS")
|
||||
withCopy()
|
||||
useTypes(emptyContractDescriptionType)
|
||||
useTypes(emptyContractDescriptionType, resolvedDeclarationStatusImport)
|
||||
}
|
||||
|
||||
builder(propertyAccessor) {
|
||||
|
||||
+1
-2
@@ -565,7 +565,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
impl(contractElementDeclaration)
|
||||
|
||||
val implementationsWithoutStatusAndTypeParameters = listOf(
|
||||
"FirAnonymousFunctionImpl",
|
||||
"FirValueParameterImpl",
|
||||
"FirDefaultSetterValueParameter",
|
||||
"FirErrorPropertyImpl",
|
||||
@@ -582,7 +581,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
|
||||
configureFieldInAllImplementations(
|
||||
"typeParameters",
|
||||
implementationPredicate = { it.type != "FirAnonymousFunctionImpl" && it.type in implementationsWithoutStatusAndTypeParameters }
|
||||
implementationPredicate = { it.type in implementationsWithoutStatusAndTypeParameters }
|
||||
) {
|
||||
defaultEmptyList(it)
|
||||
useTypes(resolvedDeclarationStatusImplType)
|
||||
|
||||
+2
-1
@@ -9,4 +9,5 @@ import org.jetbrains.kotlin.fir.tree.generator.model.ArbitraryImportable
|
||||
|
||||
val phaseAsResolveStateExtentionImport = ArbitraryImportable("org.jetbrains.kotlin.fir.declarations", "asResolveState")
|
||||
val resolvePhaseExtensionImport = ArbitraryImportable("org.jetbrains.kotlin.fir.declarations", "resolvePhase")
|
||||
val resolveStateAccessImport = ArbitraryImportable("org.jetbrains.kotlin.fir.declarations", "ResolveStateAccess")
|
||||
val resolveStateAccessImport = ArbitraryImportable("org.jetbrains.kotlin.fir.declarations", "ResolveStateAccess")
|
||||
val resolvedDeclarationStatusImport = ArbitraryImportable("org.jetbrains.kotlin.fir.declarations.impl", "FirResolvedDeclarationStatusImpl")
|
||||
Reference in New Issue
Block a user