KT-43399 properly erase extension receiver type in property$annotations

This commit is contained in:
Dmitry Petrov
2020-11-23 11:59:08 +03:00
parent 551d0c1b64
commit 2662679579
7 changed files with 107 additions and 10 deletions
@@ -87,8 +87,13 @@ interface IrTypeSystemContext : TypeSystemContext, TypeSystemCommonSuperTypesCon
override fun KotlinTypeMarker.getArgument(index: Int): TypeArgumentMarker =
when (this) {
is IrSimpleType -> arguments[index]
else -> error("Type $this has no arguments")
is IrSimpleType ->
if (index >= arguments.size)
error("No argument $index in type '${this.render()}'")
else
arguments[index]
else ->
error("Type $this has no arguments")
}
override fun KotlinTypeMarker.asTypeArgument() = this as IrTypeArgument