Change lookup tags from interfaces to abstract classes
This commit is contained in:
committed by
Mikhail Glukhikh
parent
a10deb5f69
commit
146a53f18c
@@ -220,7 +220,8 @@ class JavaSymbolProvider(
|
||||
FirResolvedTypeRefImpl(
|
||||
this@JavaSymbolProvider.session, null,
|
||||
firSymbol.constructType(
|
||||
classTypeParameters.map { ConeTypeParameterTypeImpl(it.symbol, false) }.toTypedArray(), false
|
||||
classTypeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) }.toTypedArray(),
|
||||
false
|
||||
)
|
||||
)
|
||||
).apply {
|
||||
|
||||
@@ -160,7 +160,7 @@ internal fun JavaClassifierType.toConeKotlinTypeWithNullability(
|
||||
}
|
||||
is JavaTypeParameter -> {
|
||||
val symbol = javaTypeParameterStack[classifier]
|
||||
ConeTypeParameterTypeImpl(symbol, isNullable)
|
||||
ConeTypeParameterTypeImpl(symbol.toLookupTag(), isNullable)
|
||||
}
|
||||
else -> ConeClassErrorType(reason = "Unexpected classifier: $classifier")
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ private fun JavaClassifierType.enhanceInflexibleType(
|
||||
val kotlinClassId = mappedId ?: classId
|
||||
ConeClassLikeLookupTagImpl(kotlinClassId)
|
||||
}
|
||||
is JavaTypeParameter -> javaTypeParameterStack[classifier]
|
||||
is JavaTypeParameter -> javaTypeParameterStack[classifier].toLookupTag()
|
||||
else -> return toNotNullConeKotlinType(session, javaTypeParameterStack)
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ class JavaClassUseSiteScope(
|
||||
if (overriddenInJava.typeParameters.size != base.typeParameters.size) return false
|
||||
|
||||
val types = base.typeParameters.map {
|
||||
ConeTypeParameterTypeImpl(it.symbol, false)
|
||||
ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false)
|
||||
}
|
||||
val substitution = ConeSubstitutorByMap(overriddenInJava.typeParameters.map { it.symbol }.zip(types).toMap())
|
||||
if (!overriddenInJava.typeParameters.zip(base.typeParameters).all { (a, b) ->
|
||||
|
||||
Reference in New Issue
Block a user