FIR: handle typealiases during conflict resolution
This commit is contained in:
+3
-2
@@ -104,6 +104,7 @@ abstract class AbstractConeCallConflictResolver(
|
|||||||
is FirConstructor -> createFlatSignature(call, declaration)
|
is FirConstructor -> createFlatSignature(call, declaration)
|
||||||
is FirVariable<*> -> createFlatSignature(call, declaration)
|
is FirVariable<*> -> createFlatSignature(call, declaration)
|
||||||
is FirClass<*> -> createFlatSignature(call, declaration)
|
is FirClass<*> -> createFlatSignature(call, declaration)
|
||||||
|
is FirTypeAlias -> createFlatSignature(call, declaration)
|
||||||
else -> error("Not supported: $declaration")
|
else -> error("Not supported: $declaration")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -163,10 +164,10 @@ abstract class AbstractConeCallConflictResolver(
|
|||||||
?: call.argumentMapping?.map { it.value.argumentType() }.orEmpty())
|
?: call.argumentMapping?.map { it.value.argumentType() }.orEmpty())
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createFlatSignature(call: Candidate, klass: FirClass<*>): FlatSignature<Candidate> {
|
private fun createFlatSignature(call: Candidate, klass: FirClassLikeDeclaration<*>): FlatSignature<Candidate> {
|
||||||
return FlatSignature(
|
return FlatSignature(
|
||||||
call,
|
call,
|
||||||
(klass as? FirRegularClass)?.typeParameters?.map { it.symbol.toLookupTag() }.orEmpty(),
|
(klass as? FirTypeParameterRefsOwner)?.typeParameters?.map { it.symbol.toLookupTag() }.orEmpty(),
|
||||||
valueParameterTypes = emptyList(),
|
valueParameterTypes = emptyList(),
|
||||||
hasExtensionReceiver = false,
|
hasExtensionReceiver = false,
|
||||||
hasVarargs = false,
|
hasVarargs = false,
|
||||||
|
|||||||
Reference in New Issue
Block a user