Psi2Ir: fix usage of flexible vararg type after approximation
This only affects JVM IR, and this is similar to how this was done in the old JVM backend in `CallBasedArgumentGenerator.generateVararg`. #KT-52146 Fixed
This commit is contained in:
+12
-12
@@ -21,7 +21,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
@@ -33,13 +33,13 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
CALL 'public open fun foo1 (r: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in <root>.Test' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
r: TYPE_OP type=@[FlexibleNullability] java.lang.Runnable? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] java.lang.Runnable?
|
||||
GET_VAR 'fn: kotlin.Function0<kotlin.Unit> declared in <root>.test' type=kotlin.Function0<kotlin.Unit> origin=null
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun foo1 (r: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in <root>.Test' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
r: GET_VAR 'r: java.lang.Runnable declared in <root>.test' type=java.lang.Runnable origin=null
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
CONST String type=kotlin.String value=""
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun foo1 (r: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in <root>.Test' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
@@ -50,13 +50,13 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
CALL 'public open fun foo1 (r: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in <root>.Test' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
r: TYPE_OP type=@[FlexibleNullability] java.lang.Runnable? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] java.lang.Runnable?
|
||||
GET_VAR 'fn: kotlin.Function0<kotlin.Unit> declared in <root>.test' type=kotlin.Function0<kotlin.Unit> origin=null
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun foo1 (r: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in <root>.Test' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
r: GET_VAR 'r: java.lang.Runnable declared in <root>.test' type=java.lang.Runnable origin=null
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
VAR name:i1 type:<root>.Test [val]
|
||||
@@ -76,7 +76,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
VAR name:i3 type:<root>.Test [val]
|
||||
@@ -103,7 +103,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
CONST String type=kotlin.String value=""
|
||||
VAR name:i5 type:<root>.Test [val]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (r1: @[FlexibleNullability] java.lang.Runnable?, r2: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?) declared in <root>.Test' type=<root>.Test origin=null
|
||||
@@ -119,7 +119,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
VAR name:i6 type:<root>.Test [val]
|
||||
@@ -131,7 +131,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
@@ -160,7 +160,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
CONST String type=kotlin.String value=""
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun foo2 (r1: @[FlexibleNullability] java.lang.Runnable?, r2: @[FlexibleNullability] java.lang.Runnable?, vararg strs: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in <root>.Test' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
@@ -177,7 +177,7 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
@@ -190,6 +190,6 @@ FILE fqName:<root> fileName:/arrayAsVarargAfterSamArgument.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.test'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
strs: VARARG type=@[FlexibleNullability] kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
strs: VARARG type=kotlin.Array<out @[FlexibleNullability] kotlin.String?>? varargElementType=@[FlexibleNullability] kotlin.String?
|
||||
SPREAD_ELEMENT
|
||||
GET_VAR 'arr: kotlin.Array<kotlin.String> declared in <root>.test' type=kotlin.Array<kotlin.String> origin=null
|
||||
|
||||
Reference in New Issue
Block a user