[FIR] Fix applying generated supertypes for classes without explicit supertypes
This commit is contained in:
committed by
TeamCityServer
parent
26fa772846
commit
e26cd74b16
+2
-2
@@ -19,11 +19,11 @@ abstract class FirSupertypeGenerationExtension(session: FirSession) : FirPredica
|
||||
final override val name: FirExtensionPointName
|
||||
get() = NAME
|
||||
|
||||
override val extensionType: KClass<out FirExtension> = FirSupertypeGenerationExtension::class
|
||||
final override val extensionType: KClass<out FirExtension> = FirSupertypeGenerationExtension::class
|
||||
|
||||
abstract fun computeAdditionalSupertypes(
|
||||
classLikeDeclaration: FirClassLikeDeclaration,
|
||||
resolvedSupertypes: List<FirTypeRef>
|
||||
resolvedSupertypes: List<FirResolvedTypeRef>
|
||||
): List<FirResolvedTypeRef>
|
||||
|
||||
fun interface Factory : FirExtension.Factory<FirSupertypeGenerationExtension>
|
||||
|
||||
+2
-1
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitBuiltinTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer
|
||||
import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitor
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
@@ -120,7 +121,7 @@ open class FirApplySupertypesTransformer(
|
||||
}
|
||||
|
||||
private fun applyResolvedSupertypesToClass(firClass: FirClass) {
|
||||
if (firClass.superTypeRefs.any { it !is FirResolvedTypeRef }) {
|
||||
if (firClass.superTypeRefs.any { it !is FirResolvedTypeRef || it is FirImplicitBuiltinTypeRef }) {
|
||||
val supertypeRefs = getResolvedSupertypeRefs(firClass)
|
||||
|
||||
// TODO: Replace with an immutable version or transformer
|
||||
|
||||
Reference in New Issue
Block a user