[FIR] Update type parameter use-sites to use type parameter refs

This commit is contained in:
simon.ogorodnik
2020-04-09 21:38:57 +03:00
parent 7c56209cef
commit cb00a4c136
23 changed files with 98 additions and 79 deletions
@@ -88,7 +88,7 @@ class FirJavaElementFinder(
newTypeParameterList(
stub,
firClass.typeParameters.map { Pair(it.name.asString(), arrayOf(CommonClassNames.JAVA_LANG_OBJECT)) }
firClass.typeParameters.filterIsInstance<FirTypeParameter>().map { Pair(it.name.asString(), arrayOf(CommonClassNames.JAVA_LANG_OBJECT)) }
)
val superTypeRefs = when {
@@ -318,7 +318,7 @@ private fun JavaClassifierType.toConeKotlinTypeForFlexibleBound(
private fun FirRegularClass.createRawArguments(
defaultArgs: List<ConeStarProjection>,
position: TypeComponentPosition
) = typeParameters.map { typeParameter ->
) = typeParameters.filterIsInstance<FirTypeParameter>().map { typeParameter ->
val erasedUpperBound = typeParameter.getErasedUpperBound {
defaultType().withArguments(defaultArgs.toTypedArray())
}
@@ -43,7 +43,7 @@ class FirJavaClass @FirImplementationDetail internal constructor(
override val scopeProvider: FirScopeProvider,
override val symbol: FirRegularClassSymbol,
override val superTypeRefs: MutableList<FirTypeRef>,
override val typeParameters: MutableList<FirTypeParameter>,
override val typeParameters: MutableList<FirTypeParameterRef>,
internal val javaTypeParameterStack: JavaTypeParameterStack,
internal val existingNestedClassifierNames: List<Name>
) : FirRegularClass() {
@@ -114,7 +114,7 @@ internal class FirJavaClassBuilder : AbstractFirRegularClassBuilder, FirAnnotati
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var name: Name
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var status: FirDeclarationStatus
override lateinit var classKind: ClassKind
override val declarations: MutableList<FirDeclaration> = mutableListOf()
@@ -34,7 +34,7 @@ class FirJavaConstructor @FirImplementationDetail constructor(
override val isPrimary: Boolean,
override var returnTypeRef: FirTypeRef,
override val valueParameters: MutableList<FirValueParameter>,
override val typeParameters: MutableList<FirTypeParameter>,
override val typeParameters: MutableList<FirTypeParameterRef>,
override val annotations: MutableList<FirAnnotationCall>,
override var status: FirDeclarationStatus,
override var resolvePhase: FirResolvePhase,
@@ -59,7 +59,6 @@ class FirJavaMethod @FirImplementationDetail constructor(
resolvePhase,
returnTypeRef,
receiverTypeRef,
typeParameters,
valueParameters,
body,
status,
@@ -67,6 +66,7 @@ class FirJavaMethod @FirImplementationDetail constructor(
name,
symbol,
annotations,
typeParameters,
)
private val ALL_JAVA_OPERATION_NAMES =