FIR2IR: allow array expression as named argument for vararg

This commit is contained in:
Jinseong Jeon
2020-08-25 01:02:47 -07:00
committed by Mikhail Glukhikh
parent 54d3c5fb0a
commit 085e0dc1de
4 changed files with 34 additions and 22 deletions
-19
View File
@@ -1,19 +0,0 @@
FILE fqName:<root> fileName:/kt37779.kt
FUN name:foo visibility:public modality:FINAL <> (s:kotlin.Array<out kotlin.String>) returnType:kotlin.Unit
VALUE_PARAMETER name:s index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
BLOCK_BODY
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CALL 'public final fun foo (vararg s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
s: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CALL 'public final fun arrayOf <T> (vararg elements: T of kotlin.arrayOf): kotlin.Array<T of kotlin.arrayOf> [inline] declared in kotlin' type=kotlin.Array<kotlin.String> origin=null
<T>: kotlin.String
elements: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=""
CONST String type=kotlin.String value="OK"
FUN name:test2 visibility:public modality:FINAL <> (ss:kotlin.Array<kotlin.String>) returnType:kotlin.Unit
VALUE_PARAMETER name:ss index:0 type:kotlin.Array<kotlin.String>
BLOCK_BODY
CALL 'public final fun foo (vararg s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
s: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
GET_VAR 'ss: kotlin.Array<kotlin.String> declared in <root>.test2' type=kotlin.Array<kotlin.String> origin=null
+1
View File
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +AllowAssigningArrayElementsToVarargsInNamedFormForFunctions
fun foo(vararg s: String) {}