diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/descriptors/FirTypeResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/descriptors/FirTypeResolveTransformer.kt index a9f7655657c..fa23f132a8f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/descriptors/FirTypeResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/descriptors/FirTypeResolveTransformer.kt @@ -81,22 +81,30 @@ class FirTypeResolveTransformer(val superTypesOnly: Boolean = false) : FirTransf override fun transformTypeAlias(typeAlias: FirTypeAlias, data: Nothing?): CompositeTransformResult { classLikeName = classLikeName.child(typeAlias.name) - scope = FirCompositeScope(mutableListOf(scope)) - scope.scopes += FirClassLikeTypeParameterScope(typeAlias) + if (typeAlias.typeParameters.isNotEmpty()) { + scope = FirCompositeScope(mutableListOf(scope)) + scope.scopes += FirClassLikeTypeParameterScope(typeAlias) + } resolveSuperTypesAndExpansions(typeAlias) - scope = scope.scopes[0] as FirCompositeScope + if (typeAlias.typeParameters.isNotEmpty()) { + scope = scope.scopes[0] as FirCompositeScope + } classLikeName = classLikeName.parent() return super.transformTypeAlias(typeAlias, data) } override fun transformNamedFunction(namedFunction: FirNamedFunction, data: Nothing?): CompositeTransformResult { - scope = FirCompositeScope(mutableListOf(scope)) - scope.scopes += FirFunctionTypeParameterScope(namedFunction) + if (namedFunction.typeParameters.isNotEmpty()) { + scope = FirCompositeScope(mutableListOf(scope)) + scope.scopes += FirFunctionTypeParameterScope(namedFunction) + } val result = super.transformNamedFunction(namedFunction, data) - scope = scope.scopes[0] as FirCompositeScope + if (namedFunction.typeParameters.isNotEmpty()) { + scope = scope.scopes[0] as FirCompositeScope + } return result }