From eb2cfb3d62bbc4b0151d208a2b21ddef52db4bdf Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 29 Mar 2023 13:13:26 +0200 Subject: [PATCH] [FIR] computeRepresentativeTypeForBareType: add missing lazy resolve ^KT-56543 --- .../fir/resolve/transformers/body/resolve/bareTypes.kt | 6 +++++- .../diagnostics/tests/typealias/typeAliasAsBareType.fir.kt | 1 - .../diagnostics/tests/typealias/typeAliasAsBareType.kt | 1 - 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/bareTypes.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/bareTypes.kt index 2f28132ba52..8f7f351b606 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/bareTypes.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/bareTypes.kt @@ -1,11 +1,12 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2023 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.resolve.transformers.body.resolve import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeAlias import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.utils.expandedConeType @@ -14,6 +15,7 @@ import org.jetbrains.kotlin.fir.resolve.defaultType import org.jetbrains.kotlin.fir.resolve.fullyExpandedType import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol +import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.types.AbstractTypeChecker @@ -57,6 +59,8 @@ fun BodyResolveComponents.computeRepresentativeTypeForBareType(type: ConeClassLi } private fun canBeUsedAsBareType(firTypeAlias: FirTypeAlias): Boolean { + firTypeAlias.lazyResolveToPhase(FirResolvePhase.TYPES) + val typeAliasParameters = firTypeAlias.typeParameters.toSet() val usedTypeParameters = mutableSetOf() diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt b/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt index e488522d774..ce0dceabb07 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.fir.kt @@ -1,4 +1,3 @@ -// IGNORE_REVERSED_RESOLVE // !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY typealias L = List diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.kt b/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.kt index 954e5bbb2cc..28a30c4006a 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.kt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasAsBareType.kt @@ -1,4 +1,3 @@ -// IGNORE_REVERSED_RESOLVE // !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY typealias L = List