From 0f638db3e56961719238295e0e5b5828a3791741 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Tue, 12 Nov 2019 12:46:47 +0300 Subject: [PATCH] FIR: Turn SupertypeSupplier into a class --- .../org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt | 8 ++++---- .../fir/resolve/transformers/FirSupertypesResolution.kt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt index 513b82eb4a1..93ec02d5c42 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt @@ -13,11 +13,11 @@ import org.jetbrains.kotlin.fir.scopes.impl.* import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* -interface SupertypeSupplier { - fun forClass(firClass: FirClass<*>): List - fun expansionForTypeAlias(typeAlias: FirTypeAlias): ConeClassLikeType? +abstract class SupertypeSupplier { + abstract fun forClass(firClass: FirClass<*>): List + abstract fun expansionForTypeAlias(typeAlias: FirTypeAlias): ConeClassLikeType? - object Default : SupertypeSupplier { + object Default : SupertypeSupplier() { override fun forClass(firClass: FirClass<*>) = firClass.superConeTypes override fun expansionForTypeAlias(typeAlias: FirTypeAlias) = typeAlias.expandedConeType } 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 0d404e293e7..f56da95ff50 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 @@ -271,7 +271,7 @@ private class SupertypeComputationSession { private val scopesForNestedClassesMap = hashMapOf() private val supertypeStatusMap = linkedMapOf, SupertypeComputationStatus>() - val supertypesSupplier = object : SupertypeSupplier { + val supertypesSupplier = object : SupertypeSupplier() { override fun forClass(firClass: FirClass<*>): List { if (firClass.resolvePhase > FirResolvePhase.SUPER_TYPES) return firClass.superConeTypes return (getSupertypesComputationStatus(firClass) as? SupertypeComputationStatus.Computed)?.supertypeRefs?.mapNotNull {