diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt index 2eafe99a899..40e061fbcd0 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt @@ -39,7 +39,7 @@ class FirStatusResolveProcessor( } } -fun > F.runStatusResolveForLocalClass( +fun > F.runStatusResolveForLocalClass( session: FirSession, scopeSession: ScopeSession, scopesForLocalClass: List, @@ -75,7 +75,7 @@ class FirStatusResolveTransformer( session: FirSession, scopeSession: ScopeSession, statusComputationSession: StatusComputationSession, - designationMapForLocalClasses: Map, FirClass<*>?> = mapOf(), + designationMapForLocalClasses: Map, FirClassLikeDeclaration<*>?> = mapOf(), scopeForLocalClass: FirScope? = null, ) : AbstractFirStatusResolveTransformer( session, @@ -117,9 +117,9 @@ private class FirDesignatedStatusResolveTransformer( session: FirSession, scopeSession: ScopeSession, private val designation: Iterator, - private val targetClass: FirClass<*>, + private val targetClass: FirClassLikeDeclaration<*>, statusComputationSession: StatusComputationSession, - designationMapForLocalClasses: Map, FirClass<*>?>, + designationMapForLocalClasses: Map, FirClassLikeDeclaration<*>?>, scopeForLocalClass: FirScope?, ) : AbstractFirStatusResolveTransformer( session, @@ -204,7 +204,7 @@ sealed class StatusComputationSession { } } - class ForLocalClassResolution(private val localClasses: Set>) : StatusComputationSession() { + class ForLocalClassResolution(private val localClasses: Set>) : StatusComputationSession() { private val delegate = Regular() override fun get(klass: FirClass<*>): StatusComputationStatus { @@ -226,7 +226,7 @@ abstract class AbstractFirStatusResolveTransformer( final override val session: FirSession, val scopeSession: ScopeSession, protected val statusComputationSession: StatusComputationSession, - protected val designationMapForLocalClasses: Map, FirClass<*>?>, + protected val designationMapForLocalClasses: Map, FirClassLikeDeclaration<*>?>, private val scopeForLocalClass: FirScope? ) : FirAbstractTreeTransformer(phase = FirResolvePhase.STATUS) { private val classes = mutableListOf>() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt index dfafcfb31f6..27fc9c090bc 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt @@ -58,7 +58,7 @@ class FirSupertypeResolverTransformer( } } -fun > F.runSupertypeResolvePhaseForLocalClass( +fun > F.runSupertypeResolvePhaseForLocalClass( session: FirSession, scopeSession: ScopeSession, currentScopeList: List, @@ -223,9 +223,6 @@ private class FirSupertypeResolverVisitor( val result = when { classId.isLocal -> { - // Local type aliases are not supported - if (classLikeDeclaration !is FirClass<*>) return persistentListOf() - // Local classes should be treated specially and supplied with localClassesNavigationInfo, normally // But it seems to be too strict to add an assertion here if (localClassesNavigationInfo == null) return persistentListOf() @@ -233,7 +230,7 @@ private class FirSupertypeResolverVisitor( val parent = localClassesNavigationInfo.parentForClass[classLikeDeclaration] when { - parent != null -> prepareScopeForNestedClasses(parent) + parent != null && parent is FirClass<*> -> prepareScopeForNestedClasses(parent) else -> scopeForLocalClass ?: return persistentListOf() } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt index 1b8f1a0acd6..5abd01cf473 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt @@ -26,7 +26,7 @@ class FirTypeResolveProcessor( override val transformer = FirTypeResolveTransformer(session, scopeSession) } -fun > F.runTypeResolvePhaseForLocalClass( +fun > F.runTypeResolvePhaseForLocalClass( session: FirSession, scopeSession: ScopeSession, currentScopeList: List, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt index 3b933cbd702..f37f9a357db 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt @@ -42,7 +42,7 @@ import org.jetbrains.kotlin.name.Name class BodyResolveContext( val returnTypeCalculator: ReturnTypeCalculator, val dataFlowAnalyzerContext: DataFlowAnalyzerContext, - val targetedLocalClasses: Set> = emptySet(), + val targetedLocalClasses: Set> = emptySet(), val outerLocalClassForNested: MutableMap, FirClassLikeSymbol<*>> = mutableMapOf() ) { val fileImportsScope: MutableList = mutableListOf() @@ -316,7 +316,7 @@ class BodyResolveContext( @OptIn(PrivateForInline::class) fun createSnapshotForLocalClasses( returnTypeCalculator: ReturnTypeCalculator, - targetedLocalClasses: Set> + targetedLocalClasses: Set> ): BodyResolveContext = BodyResolveContext(returnTypeCalculator, dataFlowAnalyzerContext, targetedLocalClasses, outerLocalClassForNested).apply { file = this@BodyResolveContext.file diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt index 8288ed65f37..d1ac6a381b8 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt @@ -302,6 +302,10 @@ open class FirBodyResolveTransformer( return declarationsTransformer.transformValueParameter(valueParameter, data) } + override fun transformTypeAlias(typeAlias: FirTypeAlias, data: ResolutionMode): CompositeTransformResult { + return declarationsTransformer.transformTypeAlias(typeAlias, data) + } + // ------------------------------------- Control flow statements ------------------------------------- override fun transformWhileLoop(whileLoop: FirWhileLoop, data: ResolutionMode): CompositeTransformResult { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index 03b1936e178..b32095d77e9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -358,6 +358,16 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor return doTransformRegularClass(regularClass, data) } + override fun transformTypeAlias(typeAlias: FirTypeAlias, data: ResolutionMode): CompositeTransformResult { + if (typeAlias.isLocal && typeAlias !in context.targetedLocalClasses) { + return typeAlias.runAllPhasesForLocalClass(transformer, components, data).compose() + } + doTransformTypeParameters(typeAlias) + typeAlias.transformAnnotations(transformer, data) + typeAlias.transformExpandedTypeRef(transformer, data) + return typeAlias.compose() + } + private fun doTransformRegularClass( regularClass: FirRegularClass, data: ResolutionMode diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt index 9aa1ac78749..48c925bce58 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt @@ -56,7 +56,7 @@ class FirImplicitTypeBodyResolveTransformerAdapter(session: FirSession, scopeSes } } -fun > F.runContractAndBodiesResolutionForLocalClass( +fun > F.runContractAndBodiesResolutionForLocalClass( components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents, resolutionMode: ResolutionMode, localClassesNavigationInfo: LocalClassesNavigationInfo, @@ -183,7 +183,7 @@ private class ReturnTypeCalculatorWithJump( private val session: FirSession, private val scopeSession: ScopeSession, val implicitBodyResolveComputationSession: ImplicitBodyResolveComputationSession, - val designationMapForLocalClasses: Map, List>> = mapOf(), + val designationMapForLocalClasses: Map, List>> = mapOf(), val createTransformer: ( designation: Iterator, session: FirSession, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt index 28c4888aa22..0ee9decc8eb 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt @@ -15,18 +15,18 @@ import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitorVoid import org.jetbrains.kotlin.utils.keysToMap class LocalClassesNavigationInfo( - val parentForClass: Map, FirClass<*>?>, - private val parentClassForFunction: Map, FirClass<*>>, + val parentForClass: Map, FirClassLikeDeclaration<*>?>, + private val parentClassForFunction: Map, FirClassLikeDeclaration<*>>, val allMembers: List> ) { - val designationMap: Map, List>> by lazy { + val designationMap: Map, List>> by lazy { parentClassForFunction.keys.keysToMap { pathForCallable(it) } } - private fun pathForCallable(callableMemberDeclaration: FirCallableMemberDeclaration<*>): List> { - val result = mutableListOf>() + private fun pathForCallable(callableMemberDeclaration: FirCallableMemberDeclaration<*>): List> { + val result = mutableListOf>() var current = parentClassForFunction[callableMemberDeclaration] while (current != null) { @@ -38,7 +38,7 @@ class LocalClassesNavigationInfo( } } -fun FirClass<*>.collectLocalClassesNavigationInfo(): LocalClassesNavigationInfo = +fun FirClassLikeDeclaration<*>.collectLocalClassesNavigationInfo(): LocalClassesNavigationInfo = NavigationInfoVisitor().run { this@collectLocalClassesNavigationInfo.accept(this@run) @@ -46,10 +46,10 @@ fun FirClass<*>.collectLocalClassesNavigationInfo(): LocalClassesNavigationInfo } private class NavigationInfoVisitor : FirDefaultVisitorVoid() { - val resultingMap: MutableMap, FirClass<*>> = mutableMapOf() - val parentForClass: MutableMap, FirClass<*>?> = mutableMapOf() + val resultingMap: MutableMap, FirClassLikeDeclaration<*>> = mutableMapOf() + val parentForClass: MutableMap, FirClassLikeDeclaration<*>?> = mutableMapOf() val allMembers: MutableList> = mutableListOf() - private var currentPath: PersistentList> = persistentListOf() + private var currentPath: PersistentList> = persistentListOf() override fun visitElement(element: FirElement) {} diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesResolution.kt index 30f609948d5..b2c1b81464f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesResolution.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.resolve.transformers.body.resolve -import org.jetbrains.kotlin.fir.declarations.FirClass +import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.resolve.ResolutionMode @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.runSupertypeResolvePhaseFor import org.jetbrains.kotlin.fir.resolve.transformers.runTypeResolvePhaseForLocalClass import org.jetbrains.kotlin.fir.scopes.impl.createCurrentScopeList -fun > F.runAllPhasesForLocalClass( +fun > F.runAllPhasesForLocalClass( transformer: FirAbstractBodyResolveTransformer, components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents, resolutionMode: ResolutionMode diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformerAdapter.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformerAdapter.kt index d07ab40439d..a44a8e61bd1 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformerAdapter.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformerAdapter.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.resolve.transformers.contracts import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirClass +import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.resolve.ResolutionMode @@ -39,11 +40,11 @@ class FirContractResolveTransformerAdapter(session: FirSession, scopeSession: Sc } } -fun > F.runContractResolveForLocalClass( +fun > F.runContractResolveForLocalClass( session: FirSession, scopeSession: ScopeSession, outerBodyResolveContext: BodyResolveContext, - targetedClasses: Set> + targetedClasses: Set> ): F { val newContext = outerBodyResolveContext.createSnapshotForLocalClasses( ReturnTypeCalculatorForFullBodyResolve(), diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt index c26af0d1080..6fcbbe7eef4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt @@ -42,5 +42,7 @@ abstract class FirTypeAlias : FirPureAbstractElement(), FirClassLikeDeclaration< abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirTypeAlias + abstract fun transformExpandedTypeRef(transformer: FirTransformer, data: D): FirTypeAlias + abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirTypeAlias } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt index c2450c724bf..390aaedd007 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt @@ -51,7 +51,7 @@ internal class FirTypeAliasImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirTypeAliasImpl { transformStatus(transformer, data) transformTypeParameters(transformer, data) - expandedTypeRef = expandedTypeRef.transformSingle(transformer, data) + transformExpandedTypeRef(transformer, data) transformAnnotations(transformer, data) return this } @@ -66,6 +66,11 @@ internal class FirTypeAliasImpl( return this } + override fun transformExpandedTypeRef(transformer: FirTransformer, data: D): FirTypeAliasImpl { + expandedTypeRef = expandedTypeRef.transformSingle(transformer, data) + return this + } + override fun transformAnnotations(transformer: FirTransformer, data: D): FirTypeAliasImpl { annotations.transformInplace(transformer, data) return this diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt index 2b991e1152c..191d1ea24b4 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt @@ -92,7 +92,7 @@ inline val FirProperty.allowsToHaveFakeOverride: Boolean inline val FirPropertyAccessor.allowsToHaveFakeOverride: Boolean get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.InvisibleFake -inline val FirRegularClass.isLocal get() = symbol.classId.isLocal +inline val FirClassLikeDeclaration<*>.isLocal get() = symbol.classId.isLocal inline val FirSimpleFunction.isLocal get() = status.visibility == Visibilities.Local fun FirRegularClassBuilder.addDeclaration(declaration: FirDeclaration) { 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 da051c1fc2f..bba48b3965a 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 @@ -271,7 +271,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild parentArg(classLikeDeclaration, "F", typeAlias) +name +symbol("FirTypeAliasSymbol") - +field("expandedTypeRef", typeRef, withReplace = true) + +field("expandedTypeRef", typeRef, withReplace = true).withTransform() +annotations } diff --git a/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocal.fir.kt b/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocal.fir.kt index 603d640167d..6d9ada7f7a6 100644 --- a/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocal.fir.kt +++ b/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocal.fir.kt @@ -10,7 +10,7 @@ private fun foobar() = { fun a() = A() } - typealias LocalAlias = A<E, X, Y, W> + typealias LocalAlias = AX, Y, W> } class Derived : LocalOuter() { @@ -27,7 +27,7 @@ private fun noParameters() = { fun a() = A() } - typealias LocalAlias2 = A<Any, X, Y, W> + typealias LocalAlias2 = AX, Y, W> } class Derived2 : LocalOuter2() { diff --git a/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocalInsideInner.fir.kt b/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocalInsideInner.fir.kt index 9f0071189a5..c4fd539d3fc 100644 --- a/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocalInsideInner.fir.kt +++ b/compiler/testData/diagnostics/tests/generics/innerClasses/implicitArguments/fromSuperClassesLocalInsideInner.fir.kt @@ -12,7 +12,7 @@ class Outer { fun a() = A() } - typealias LocalAlias = A<T, F, E, X, Y, W> + typealias LocalAlias = AX, Y, W> } class Derived : LocalOuter() { @@ -29,7 +29,7 @@ class Outer { fun a() = A() } - typealias LocalAlias2 = A<T, F, Any, X, Y, W> + typealias LocalAlias2 = AX, Y, W> } class Derived2 : LocalOuter2() { diff --git a/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.fir.kt b/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.fir.kt index bcbf49d0c3b..25a21884911 100644 --- a/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.fir.kt +++ b/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.fir.kt @@ -17,13 +17,13 @@ class Outer { fun foo() { class Local { - typealias LTF = List<TF> - typealias LTL = List<TL> + typealias LTF = List + typealias LTL = List<TL> } fun localfun() = object { - typealias LTF = List<TF> - typealias LTLF = List<TLF> + typealias LTF = List + typealias LTLF = List } } diff --git a/compiler/testData/diagnostics/tests/typealias/localTypeAliasRecursive.fir.kt b/compiler/testData/diagnostics/tests/typealias/localTypeAliasRecursive.fir.kt index 4c0d7226f3d..f5478555e63 100644 --- a/compiler/testData/diagnostics/tests/typealias/localTypeAliasRecursive.fir.kt +++ b/compiler/testData/diagnostics/tests/typealias/localTypeAliasRecursive.fir.kt @@ -3,5 +3,5 @@ fun outer() { typealias Test1 = Test1 typealias Test2 = List<Test2> - typealias Test3 = List<Test3<T>> -} \ No newline at end of file + typealias Test3 = List<Test3> +} diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt b/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt index 9b88f331a72..5f4f58be304 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt @@ -29,7 +29,7 @@ fun testWrong4(x: List) = x is ReadableList fun testLocal(x: Any) { class C - typealias CA = C + typealias CA = C if (x is C) {} if (x is CA) {} }