[Commonizer] Rename: TypeParameterResolver -> CirTypeParameterResolver
This commit is contained in:
+5
-5
@@ -10,7 +10,7 @@ import kotlinx.metadata.klib.annotations
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirName
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeSignature
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.core.Commonizer
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.metadata.TypeParameterResolver
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.metadata.CirTypeParameterResolver
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.utils.appendHashCode
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.utils.computeSignature
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.utils.hashCode
|
||||
@@ -21,7 +21,7 @@ data class PropertyApproximationKey(
|
||||
val name: CirName,
|
||||
val extensionReceiverParameterType: CirTypeSignature?
|
||||
) {
|
||||
constructor(property: KmProperty, typeParameterResolver: TypeParameterResolver) : this(
|
||||
constructor(property: KmProperty, typeParameterResolver: CirTypeParameterResolver) : this(
|
||||
CirName.create(property.name),
|
||||
property.receiverParameterType?.computeSignature(typeParameterResolver)
|
||||
)
|
||||
@@ -34,7 +34,7 @@ data class FunctionApproximationKey(
|
||||
private val additionalValueParametersNamesHash: Int,
|
||||
val extensionReceiverParameterType: CirTypeSignature?
|
||||
) {
|
||||
constructor(function: KmFunction, typeParameterResolver: TypeParameterResolver) : this(
|
||||
constructor(function: KmFunction, typeParameterResolver: CirTypeParameterResolver) : this(
|
||||
CirName.create(function.name),
|
||||
function.valueParameters.computeSignatures(typeParameterResolver),
|
||||
additionalValueParameterNamesHash(function.annotations, function.valueParameters),
|
||||
@@ -62,7 +62,7 @@ data class ConstructorApproximationKey(
|
||||
val valueParametersTypes: Array<CirTypeSignature>,
|
||||
private val additionalValueParametersNamesHash: Int
|
||||
) {
|
||||
constructor(constructor: KmConstructor, typeParameterResolver: TypeParameterResolver) : this(
|
||||
constructor(constructor: KmConstructor, typeParameterResolver: CirTypeParameterResolver) : this(
|
||||
constructor.valueParameters.computeSignatures(typeParameterResolver),
|
||||
additionalValueParameterNamesHash(constructor.annotations, constructor.valueParameters)
|
||||
)
|
||||
@@ -80,7 +80,7 @@ data class ConstructorApproximationKey(
|
||||
}
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
private inline fun List<KmValueParameter>.computeSignatures(typeParameterResolver: TypeParameterResolver): Array<CirTypeSignature> =
|
||||
private inline fun List<KmValueParameter>.computeSignatures(typeParameterResolver: CirTypeParameterResolver): Array<CirTypeSignature> =
|
||||
if (isEmpty()) emptyArray() else Array(size) { index -> this[index].type?.computeSignature(typeParameterResolver).orEmpty() }
|
||||
|
||||
private fun additionalValueParameterNamesHash(annotations: List<KmAnnotation>, valueParameters: List<KmValueParameter>): Int {
|
||||
|
||||
+1
-1
@@ -7,6 +7,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.metadata
|
||||
|
||||
import kotlinx.metadata.KmTypeParameter
|
||||
|
||||
interface TypeParameterResolver {
|
||||
interface CirTypeParameterResolver {
|
||||
fun resolveTypeParameter(id: Int): KmTypeParameter?
|
||||
}
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.descriptors.commonizer.mergedtree.CirProvidedClassif
|
||||
typealias TypeParameterId = Int
|
||||
typealias TypeParameterIndex = Int
|
||||
|
||||
abstract class CirTypeResolver : TypeParameterResolver {
|
||||
abstract class CirTypeResolver : CirTypeParameterResolver {
|
||||
abstract val providedClassifiers: CirProvidedClassifiers
|
||||
protected abstract val typeParameterIndexOffset: Int
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.utils
|
||||
import gnu.trove.TIntHashSet
|
||||
import kotlinx.metadata.*
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirTypeSignature
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.metadata.TypeParameterResolver
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.metadata.CirTypeParameterResolver
|
||||
|
||||
internal inline val KmTypeParameter.filteredUpperBounds: List<KmType>
|
||||
get() = upperBounds.takeUnless { it.singleOrNull()?.isNullableAny == true } ?: emptyList()
|
||||
@@ -23,7 +23,7 @@ private inline val KmType.isAny: Boolean
|
||||
get() = (classifier as? KmClassifier.Class)?.name == ANY_CLASS_FULL_NAME && !Flag.Type.IS_NULLABLE(flags)
|
||||
|
||||
|
||||
internal fun KmType.computeSignature(typeParameterResolver: TypeParameterResolver): CirTypeSignature {
|
||||
internal fun KmType.computeSignature(typeParameterResolver: CirTypeParameterResolver): CirTypeSignature {
|
||||
// use of interner saves up to 95% of duplicates
|
||||
return typeSignatureInterner.intern(
|
||||
buildString {
|
||||
@@ -38,7 +38,7 @@ internal fun KmType.computeSignature(typeParameterResolver: TypeParameterResolve
|
||||
|
||||
private fun StringBuilder.buildTypeSignature(
|
||||
type: KmType,
|
||||
typeParameterResolver: TypeParameterResolver,
|
||||
typeParameterResolver: CirTypeParameterResolver,
|
||||
exploredTypeParameters: TIntHashSet
|
||||
) {
|
||||
when (val classifier = type.classifier) {
|
||||
|
||||
Reference in New Issue
Block a user