Files
kotlin-fork/compiler/testData/codegen/box/annotations/javaAnnotationArrayValueDefault.ir.txt
T
Kirill Rakhman feed740415 [FIR2IR] Don't copy default value to annotation call with vararg parameter
This aligns the behavior with K1 and fixes an issue when the default
value was deserialized as FirExpressionStub leading to an exception
in FIR2IR when trying to convert it to an IR expression.

#KT-60120 Fixed
#KT-59610 Fixed
2023-07-17 11:42:39 +00:00

254 lines
23 KiB
Plaintext
Vendored

Module: lib
Module: main
FILE fqName:<root> fileName:/1.kt
CLASS CLASS name:MyClass1 modality:FINAL visibility:public superTypes:[kotlin.Any]
annotations:
JavaAnn(value = <null>)
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass1
CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass1 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass1 modality:FINAL visibility:public superTypes:[kotlin.Any]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:MyClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]
annotations:
JavaAnn(value = <null>)
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass2
CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass2 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:MyClass3 modality:FINAL visibility:public superTypes:[kotlin.Any]
annotations:
JavaAnn(value = ['asd'])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass3
CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass3 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass3 modality:FINAL visibility:public superTypes:[kotlin.Any]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:MyClass4 modality:FINAL visibility:public superTypes:[kotlin.Any]
annotations:
JavaAnn(value = [])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass4
CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass4 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass4 modality:FINAL visibility:public superTypes:[kotlin.Any]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
VAR name:value1 type:kotlin.Array<kotlin.String> [val]
CALL 'public final fun <get-value> (): kotlin.Array<kotlin.String> declared in <root>.JavaAnn' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: TYPE_OP type=<root>.JavaAnn origin=IMPLICIT_NOTNULL typeOperand=<root>.JavaAnn
CALL 'public open fun getAnnotation <A> (p0: @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] A of java.lang.Class.getAnnotation?>?): @[FlexibleNullability] A of java.lang.Class.getAnnotation? declared in java.lang.Class' type=@[FlexibleNullability] <root>.JavaAnn? origin=null
<A>: @[FlexibleNullability] <root>.JavaAnn?
$this: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.MyClass1> origin=GET_PROPERTY
<T>: <root>.MyClass1
$receiver: CLASS_REFERENCE 'CLASS CLASS name:MyClass1 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<<root>.MyClass1>
p0: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.JavaAnn> origin=GET_PROPERTY
<T>: <root>.JavaAnn
$receiver: CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB ANNOTATION_CLASS name:JavaAnn modality:OPEN visibility:public/*package*/ superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass<<root>.JavaAnn>
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value1: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
arg1: CONST Int type=kotlin.Int value=2
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail1: "
CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value1: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value1: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=0
arg1: CONST String type=kotlin.String value="d1"
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail2: "
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value1: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=0
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value1: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=1
arg1: CONST String type=kotlin.String value="d2"
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail3: "
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value1: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=1
VAR name:value2 type:kotlin.Array<kotlin.String> [val]
CALL 'public final fun <get-value> (): kotlin.Array<kotlin.String> declared in <root>.JavaAnn' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: TYPE_OP type=<root>.JavaAnn origin=IMPLICIT_NOTNULL typeOperand=<root>.JavaAnn
CALL 'public open fun getAnnotation <A> (p0: @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] A of java.lang.Class.getAnnotation?>?): @[FlexibleNullability] A of java.lang.Class.getAnnotation? declared in java.lang.Class' type=@[FlexibleNullability] <root>.JavaAnn? origin=null
<A>: @[FlexibleNullability] <root>.JavaAnn?
$this: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.MyClass2> origin=GET_PROPERTY
<T>: <root>.MyClass2
$receiver: CLASS_REFERENCE 'CLASS CLASS name:MyClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<<root>.MyClass2>
p0: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.JavaAnn> origin=GET_PROPERTY
<T>: <root>.JavaAnn
$receiver: CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB ANNOTATION_CLASS name:JavaAnn modality:OPEN visibility:public/*package*/ superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass<<root>.JavaAnn>
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value2: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
arg1: CONST Int type=kotlin.Int value=2
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail4: "
CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value2: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value2: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=0
arg1: CONST String type=kotlin.String value="d1"
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail5: "
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value2: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=0
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value2: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=1
arg1: CONST String type=kotlin.String value="d2"
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail6: "
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value2: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=1
VAR name:value3 type:kotlin.Array<kotlin.String> [val]
CALL 'public final fun <get-value> (): kotlin.Array<kotlin.String> declared in <root>.JavaAnn' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: TYPE_OP type=<root>.JavaAnn origin=IMPLICIT_NOTNULL typeOperand=<root>.JavaAnn
CALL 'public open fun getAnnotation <A> (p0: @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] A of java.lang.Class.getAnnotation?>?): @[FlexibleNullability] A of java.lang.Class.getAnnotation? declared in java.lang.Class' type=@[FlexibleNullability] <root>.JavaAnn? origin=null
<A>: @[FlexibleNullability] <root>.JavaAnn?
$this: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.MyClass3> origin=GET_PROPERTY
<T>: <root>.MyClass3
$receiver: CLASS_REFERENCE 'CLASS CLASS name:MyClass3 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<<root>.MyClass3>
p0: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.JavaAnn> origin=GET_PROPERTY
<T>: <root>.JavaAnn
$receiver: CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB ANNOTATION_CLASS name:JavaAnn modality:OPEN visibility:public/*package*/ superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass<<root>.JavaAnn>
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value3: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
arg1: CONST Int type=kotlin.Int value=1
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail7: "
CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value3: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value3: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=0
arg1: CONST String type=kotlin.String value="asd"
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail8: "
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
$this: GET_VAR 'val value3: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
index: CONST Int type=kotlin.Int value=0
VAR name:value4 type:kotlin.Array<kotlin.String> [val]
CALL 'public final fun <get-value> (): kotlin.Array<kotlin.String> declared in <root>.JavaAnn' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
$this: TYPE_OP type=<root>.JavaAnn origin=IMPLICIT_NOTNULL typeOperand=<root>.JavaAnn
CALL 'public open fun getAnnotation <A> (p0: @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] A of java.lang.Class.getAnnotation?>?): @[FlexibleNullability] A of java.lang.Class.getAnnotation? declared in java.lang.Class' type=@[FlexibleNullability] <root>.JavaAnn? origin=null
<A>: @[FlexibleNullability] <root>.JavaAnn?
$this: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.MyClass4> origin=GET_PROPERTY
<T>: <root>.MyClass4
$receiver: CLASS_REFERENCE 'CLASS CLASS name:MyClass4 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<<root>.MyClass4>
p0: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.<get-java>> declared in kotlin.jvm' type=java.lang.Class<<root>.JavaAnn> origin=GET_PROPERTY
<T>: <root>.JavaAnn
$receiver: CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB ANNOTATION_CLASS name:JavaAnn modality:OPEN visibility:public/*package*/ superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass<<root>.JavaAnn>
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value4: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
arg1: CONST Int type=kotlin.Int value=0
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="fail 9: "
CALL 'public final fun <get-size> (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'val value4: kotlin.Array<kotlin.String> declared in <root>.box' type=kotlin.Array<kotlin.String> origin=null
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
CONST String type=kotlin.String value="OK"