Drop IrPropertyAccessor (and subclasses).

Drop IrLocalPropertyAccessor (and subclasses).
Introduce IrField.
This commit is contained in:
Dmitry Petrov
2016-09-12 12:07:10 +03:00
committed by Dmitry Petrov
parent 121e949a33
commit 5c720845a8
81 changed files with 1124 additions and 831 deletions
+7 -2
View File
@@ -1,7 +1,12 @@
FILE /arrayAccess.kt
PROPERTY public val p: kotlin.Int = 0
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public val p: kotlin.Int = 0
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public fun <get-p>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>(): Int'
GET_BACKING_FIELD 'p: Int' type=kotlin.Int operator=null
FUN public fun foo(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='foo(): Int'
@@ -17,8 +17,9 @@ FILE /arrayAugmentedAssignment1.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY public final val x: kotlin.IntArray
EXPRESSION_BODY
GET_VAR 'value-parameter x: IntArray' type=kotlin.IntArray operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FIELD public final val x: kotlin.IntArray
EXPRESSION_BODY
GET_VAR 'value-parameter x: IntArray' type=kotlin.IntArray operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN public fun testVariable(): kotlin.Unit
BLOCK_BODY
VAR var x: kotlin.IntArray
+3 -2
View File
@@ -5,8 +5,9 @@ FILE /assignments.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Ref'
PROPERTY public final var x: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FIELD public final var x: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN public fun test1(): kotlin.Unit
BLOCK_BODY
VAR var x: kotlin.Int
@@ -1,7 +1,16 @@
FILE /augmentedAssignment1.kt
PROPERTY public var p: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public var p: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public fun <get-p>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>(): Int'
GET_BACKING_FIELD 'p: Int' type=kotlin.Int operator=null
FUN public fun <set-p>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'p: Int' type=kotlin.Unit operator=null
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
FUN public fun testVariable(): kotlin.Unit
BLOCK_BODY
VAR var x: kotlin.Int
@@ -15,8 +15,13 @@ FILE /augmentedAssignment2.kt
FUN public operator fun A.modAssign(s: kotlin.String): kotlin.Unit
BLOCK_BODY
PROPERTY public val p: A
EXPRESSION_BODY
CALL 'constructor A()' type=A operator=null
FIELD public val p: A
EXPRESSION_BODY
CALL 'constructor A()' type=A operator=null
FUN public fun <get-p>(): A
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>(): A'
GET_BACKING_FIELD 'p: A' type=A operator=null
FUN public fun testVariable(): kotlin.Unit
BLOCK_BODY
VAR val a: A
@@ -7,19 +7,40 @@ FILE /boundCallableReferences.kt
FUN public final fun foo(): kotlin.Unit
BLOCK_BODY
PROPERTY public final val bar: kotlin.Int = 0
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public final val bar: kotlin.Int = 0
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public final fun <get-bar>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-bar>(): Int'
GET_BACKING_FIELD 'bar: Int' type=kotlin.Int operator=null
receiver: THIS of 'A' type=A
FUN public fun A.qux(): kotlin.Unit
BLOCK_BODY
PROPERTY public val test1: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
$this: CALL 'constructor A()' type=A operator=null
FIELD public val test1: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
$this: CALL 'constructor A()' type=A operator=null
FUN public fun <get-test1>(): kotlin.reflect.KFunction0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): KFunction0<Unit>'
GET_BACKING_FIELD 'test1: KFunction0<Unit>' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test2: kotlin.reflect.KProperty0<kotlin.Int>
EXPRESSION_BODY
CALLABLE_REFERENCE 'bar: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
$this: CALL 'constructor A()' type=A operator=null
FIELD public val test2: kotlin.reflect.KProperty0<kotlin.Int>
EXPRESSION_BODY
CALLABLE_REFERENCE 'bar: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
$this: CALL 'constructor A()' type=A operator=null
FUN public fun <get-test2>(): kotlin.reflect.KProperty0<kotlin.Int>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): KProperty0<Int>'
GET_BACKING_FIELD 'test2: KProperty0<Int>' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
PROPERTY public val test3: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'qux() on A: Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
$receiver: CALL 'constructor A()' type=A operator=null
FIELD public val test3: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'qux() on A: Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
$receiver: CALL 'constructor A()' type=A operator=null
FUN public fun <get-test3>(): kotlin.reflect.KFunction0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test3>(): KFunction0<Unit>'
GET_BACKING_FIELD 'test3: KFunction0<Unit>' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
@@ -5,24 +5,57 @@ FILE /complexAugmentedAssignment.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='X1'
PROPERTY public final var x1: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public final var x1: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public final fun <get-x1>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-x1>(): Int'
GET_BACKING_FIELD 'x1: Int' type=kotlin.Int operator=null
receiver: THIS of 'X1' type=X1
FUN public final fun <set-x1>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'x1: Int' type=kotlin.Unit operator=null
receiver: THIS of 'X1' type=X1
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
CLASS OBJECT X2
CONSTRUCTOR private constructor X2()
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='X2'
PROPERTY public final var x2: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public final var x2: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public final fun <get-x2>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-x2>(): Int'
GET_BACKING_FIELD 'x2: Int' type=kotlin.Int operator=null
receiver: THIS of 'X2' type=X1.X2
FUN public final fun <set-x2>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'x2: Int' type=kotlin.Unit operator=null
receiver: THIS of 'X2' type=X1.X2
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
CLASS OBJECT X3
CONSTRUCTOR private constructor X3()
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='X3'
PROPERTY public final var x3: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public final var x3: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public final fun <get-x3>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-x3>(): Int'
GET_BACKING_FIELD 'x3: Int' type=kotlin.Int operator=null
receiver: THIS of 'X3' type=X1.X2.X3
FUN public final fun <set-x3>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'x3: Int' type=kotlin.Unit operator=null
receiver: THIS of 'X3' type=X1.X2.X3
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
FUN public fun test1(a: kotlin.IntArray): kotlin.Unit
BLOCK_BODY
VAR var i: kotlin.Int
@@ -94,8 +127,9 @@ FILE /complexAugmentedAssignment.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='B'
PROPERTY public final var s: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter s: Int = ...' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FIELD public final var s: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter s: Int = ...' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS OBJECT Host
CONSTRUCTOR private constructor Host()
BLOCK_BODY
+7 -2
View File
@@ -1,7 +1,12 @@
FILE /elvis.kt
PROPERTY public val p: kotlin.Any? = null
EXPRESSION_BODY
CONST Null type=kotlin.Nothing? value='null'
FIELD public val p: kotlin.Any? = null
EXPRESSION_BODY
CONST Null type=kotlin.Nothing? value='null'
FUN public fun <get-p>(): kotlin.Any?
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>(): Any?'
GET_BACKING_FIELD 'p: Any?' type=kotlin.Any? operator=null
FUN public fun foo(): kotlin.Any?
BLOCK_BODY
RETURN type=kotlin.Nothing from='foo(): Any?'
@@ -1,6 +1,6 @@
FILE /extensionPropertyGetterCall.kt
PROPERTY public val kotlin.String.okext: kotlin.String
PROPERTY_GETTER public fun kotlin.String.<get-okext>(): kotlin.String
FUN public fun kotlin.String.<get-okext>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-okext>() on String: String'
CONST String type=kotlin.String value='OK'
+16 -6
View File
@@ -1,15 +1,25 @@
FILE /field.kt
PROPERTY public var testSimple: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
PROPERTY_SETTER public fun <set-testSimple>(value: kotlin.Int): kotlin.Unit
FIELD public var testSimple: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public fun <get-testSimple>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testSimple>(): Int'
GET_BACKING_FIELD 'testSimple: Int' type=kotlin.Int operator=null
FUN public fun <set-testSimple>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'testSimple: Int' type=kotlin.Unit operator=EQ
value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
PROPERTY public var testAugmented: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
PROPERTY_SETTER public fun <set-testAugmented>(value: kotlin.Int): kotlin.Unit
FIELD public var testAugmented: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public fun <get-testAugmented>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testAugmented>(): Int'
GET_BACKING_FIELD 'testAugmented: Int' type=kotlin.Int operator=null
FUN public fun <set-testAugmented>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'testAugmented: Int' type=kotlin.Unit operator=PLUSEQ
value: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
@@ -10,8 +10,9 @@ FILE /forWithImplicitReceivers.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='IntCell'
PROPERTY public final var value: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FIELD public final var value: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS INTERFACE IReceiver
FUN public open operator fun FiveTimes.iterator(): IntCell
BLOCK_BODY
@@ -1,14 +1,28 @@
FILE /incrementDecrement.kt
PROPERTY public var p: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public var p: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public fun <get-p>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>(): Int'
GET_BACKING_FIELD 'p: Int' type=kotlin.Int operator=null
FUN public fun <set-p>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'p: Int' type=kotlin.Unit operator=null
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
PROPERTY public val arr: kotlin.IntArray
EXPRESSION_BODY
CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int
CONST Int type=kotlin.Int value='1'
CONST Int type=kotlin.Int value='2'
CONST Int type=kotlin.Int value='3'
FIELD public val arr: kotlin.IntArray
EXPRESSION_BODY
CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int
CONST Int type=kotlin.Int value='1'
CONST Int type=kotlin.Int value='2'
CONST Int type=kotlin.Int value='3'
FUN public fun <get-arr>(): kotlin.IntArray
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-arr>(): IntArray'
GET_BACKING_FIELD 'arr: IntArray' type=kotlin.IntArray operator=null
FUN public fun testVarPrefix(): kotlin.Unit
BLOCK_BODY
VAR var x: kotlin.Int
@@ -6,7 +6,7 @@ FILE /jvmStaticFieldReference.kt
GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='testFun'
PROPERTY public var testProp: kotlin.Any
PROPERTY_GETTER public fun <get-testProp>(): kotlin.Any
FUN public fun <get-testProp>(): kotlin.Any
BLOCK_BODY
CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
@@ -14,7 +14,7 @@ FILE /jvmStaticFieldReference.kt
p0: CONST String type=kotlin.String value='testProp/get'
RETURN type=kotlin.Nothing from='<get-testProp>(): Any'
CONST Int type=kotlin.Int value='42'
PROPERTY_SETTER public fun <set-testProp>(value: kotlin.Any): kotlin.Unit
FUN public fun <set-testProp>(value: kotlin.Any): kotlin.Unit
BLOCK_BODY
CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
@@ -26,14 +26,20 @@ FILE /jvmStaticFieldReference.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='TestClass'
PROPERTY public final val test: kotlin.Int
EXPRESSION_BODY
WHEN type=kotlin.Int operator=WHEN
else: BLOCK type=kotlin.Int operator=null
CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='TestClass/test'
CONST Int type=kotlin.Int value='42'
FIELD public final val test: kotlin.Int
EXPRESSION_BODY
WHEN type=kotlin.Int operator=WHEN
else: BLOCK type=kotlin.Int operator=null
CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='TestClass/test'
CONST Int type=kotlin.Int value='42'
FUN public final fun <get-test>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test>(): Int'
GET_BACKING_FIELD 'test: Int' type=kotlin.Int operator=null
receiver: THIS of 'TestClass' type=TestClass
ANONYMOUS_INITIALIZER TestClass
BLOCK_BODY
CALL 'println(String!): Unit' type=kotlin.Unit operator=null
+119 -34
View File
@@ -1,52 +1,137 @@
FILE /literals.kt
PROPERTY public val test1: kotlin.Int = 1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='1'
FIELD public val test1: kotlin.Int = 1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='1'
FUN public fun <get-test1>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): Int'
GET_BACKING_FIELD 'test1: Int' type=kotlin.Int operator=null
PROPERTY public val test2: kotlin.Int = -1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='-1'
FIELD public val test2: kotlin.Int = -1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='-1'
FUN public fun <get-test2>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): Int'
GET_BACKING_FIELD 'test2: Int' type=kotlin.Int operator=null
PROPERTY public val test3: kotlin.Boolean = true
EXPRESSION_BODY
CONST Boolean type=kotlin.Boolean value='true'
FIELD public val test3: kotlin.Boolean = true
EXPRESSION_BODY
CONST Boolean type=kotlin.Boolean value='true'
FUN public fun <get-test3>(): kotlin.Boolean
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test3>(): Boolean'
GET_BACKING_FIELD 'test3: Boolean' type=kotlin.Boolean operator=null
PROPERTY public val test4: kotlin.Boolean = false
EXPRESSION_BODY
CONST Boolean type=kotlin.Boolean value='false'
FIELD public val test4: kotlin.Boolean = false
EXPRESSION_BODY
CONST Boolean type=kotlin.Boolean value='false'
FUN public fun <get-test4>(): kotlin.Boolean
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test4>(): Boolean'
GET_BACKING_FIELD 'test4: Boolean' type=kotlin.Boolean operator=null
PROPERTY public val test5: kotlin.String = "abc"
EXPRESSION_BODY
CONST String type=kotlin.String value='abc'
FIELD public val test5: kotlin.String = "abc"
EXPRESSION_BODY
CONST String type=kotlin.String value='abc'
FUN public fun <get-test5>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test5>(): String'
GET_BACKING_FIELD 'test5: String' type=kotlin.String operator=null
PROPERTY public val test6: kotlin.Nothing? = null
EXPRESSION_BODY
CONST Null type=kotlin.Nothing? value='null'
FIELD public val test6: kotlin.Nothing? = null
EXPRESSION_BODY
CONST Null type=kotlin.Nothing? value='null'
FUN public fun <get-test6>(): kotlin.Nothing?
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test6>(): Nothing?'
GET_BACKING_FIELD 'test6: Nothing?' type=kotlin.Nothing? operator=null
PROPERTY public val test7: kotlin.Long = 1.toLong()
EXPRESSION_BODY
CONST Long type=kotlin.Long value='1'
FIELD public val test7: kotlin.Long = 1.toLong()
EXPRESSION_BODY
CONST Long type=kotlin.Long value='1'
FUN public fun <get-test7>(): kotlin.Long
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test7>(): Long'
GET_BACKING_FIELD 'test7: Long' type=kotlin.Long operator=null
PROPERTY public val test8: kotlin.Long = -1.toLong()
EXPRESSION_BODY
CONST Long type=kotlin.Long value='-1'
FIELD public val test8: kotlin.Long = -1.toLong()
EXPRESSION_BODY
CONST Long type=kotlin.Long value='-1'
FUN public fun <get-test8>(): kotlin.Long
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test8>(): Long'
GET_BACKING_FIELD 'test8: Long' type=kotlin.Long operator=null
PROPERTY public val test9: kotlin.Double = 1.0.toDouble()
EXPRESSION_BODY
CONST Double type=kotlin.Double value='1.0'
FIELD public val test9: kotlin.Double = 1.0.toDouble()
EXPRESSION_BODY
CONST Double type=kotlin.Double value='1.0'
FUN public fun <get-test9>(): kotlin.Double
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test9>(): Double'
GET_BACKING_FIELD 'test9: Double' type=kotlin.Double operator=null
PROPERTY public val test10: kotlin.Double = -1.0.toDouble()
EXPRESSION_BODY
CONST Double type=kotlin.Double value='-1.0'
FIELD public val test10: kotlin.Double = -1.0.toDouble()
EXPRESSION_BODY
CONST Double type=kotlin.Double value='-1.0'
FUN public fun <get-test10>(): kotlin.Double
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test10>(): Double'
GET_BACKING_FIELD 'test10: Double' type=kotlin.Double operator=null
PROPERTY public val test11: kotlin.Float = 1.0.toFloat()
EXPRESSION_BODY
CONST Float type=kotlin.Float value='1.0'
FIELD public val test11: kotlin.Float = 1.0.toFloat()
EXPRESSION_BODY
CONST Float type=kotlin.Float value='1.0'
FUN public fun <get-test11>(): kotlin.Float
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test11>(): Float'
GET_BACKING_FIELD 'test11: Float' type=kotlin.Float operator=null
PROPERTY public val test12: kotlin.Float = -1.0.toFloat()
EXPRESSION_BODY
CONST Float type=kotlin.Float value='-1.0'
FIELD public val test12: kotlin.Float = -1.0.toFloat()
EXPRESSION_BODY
CONST Float type=kotlin.Float value='-1.0'
FUN public fun <get-test12>(): kotlin.Float
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test12>(): Float'
GET_BACKING_FIELD 'test12: Float' type=kotlin.Float operator=null
PROPERTY public val test13: kotlin.Char = \u0061 ('a')
EXPRESSION_BODY
CONST Char type=kotlin.Char value='a'
FIELD public val test13: kotlin.Char = \u0061 ('a')
EXPRESSION_BODY
CONST Char type=kotlin.Char value='a'
FUN public fun <get-test13>(): kotlin.Char
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test13>(): Char'
GET_BACKING_FIELD 'test13: Char' type=kotlin.Char operator=null
PROPERTY public val testB: kotlin.Byte = 1.toByte()
EXPRESSION_BODY
CONST Byte type=kotlin.Byte value='1'
FIELD public val testB: kotlin.Byte = 1.toByte()
EXPRESSION_BODY
CONST Byte type=kotlin.Byte value='1'
FUN public fun <get-testB>(): kotlin.Byte
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testB>(): Byte'
GET_BACKING_FIELD 'testB: Byte' type=kotlin.Byte operator=null
PROPERTY public val testS: kotlin.Short = 1.toShort()
EXPRESSION_BODY
CONST Short type=kotlin.Short value='1'
FIELD public val testS: kotlin.Short = 1.toShort()
EXPRESSION_BODY
CONST Short type=kotlin.Short value='1'
FUN public fun <get-testS>(): kotlin.Short
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testS>(): Short'
GET_BACKING_FIELD 'testS: Short' type=kotlin.Short operator=null
PROPERTY public val testI: kotlin.Int = 1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='1'
FIELD public val testI: kotlin.Int = 1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='1'
FUN public fun <get-testI>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testI>(): Int'
GET_BACKING_FIELD 'testI: Int' type=kotlin.Int operator=null
PROPERTY public val testL: kotlin.Long = 1.toLong()
EXPRESSION_BODY
CONST Long type=kotlin.Long value='1'
FIELD public val testL: kotlin.Long = 1.toLong()
EXPRESSION_BODY
CONST Long type=kotlin.Long value='1'
FUN public fun <get-testL>(): kotlin.Long
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testL>(): Long'
GET_BACKING_FIELD 'testL: Long' type=kotlin.Long operator=null
+16 -6
View File
@@ -1,12 +1,22 @@
FILE /references.kt
PROPERTY public val ok: kotlin.String = "OK"
EXPRESSION_BODY
CONST String type=kotlin.String value='OK'
FIELD public val ok: kotlin.String = "OK"
EXPRESSION_BODY
CONST String type=kotlin.String value='OK'
FUN public fun <get-ok>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-ok>(): String'
GET_BACKING_FIELD 'ok: String' type=kotlin.String operator=null
PROPERTY public val ok2: kotlin.String = "OK"
EXPRESSION_BODY
CALL '<get-ok>(): String' type=kotlin.String operator=GET_PROPERTY
FIELD public val ok2: kotlin.String = "OK"
EXPRESSION_BODY
CALL '<get-ok>(): String' type=kotlin.String operator=GET_PROPERTY
FUN public fun <get-ok2>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-ok2>(): String'
GET_BACKING_FIELD 'ok2: String' type=kotlin.String operator=null
PROPERTY public val ok3: kotlin.String
PROPERTY_GETTER public fun <get-ok3>(): kotlin.String
FUN public fun <get-ok3>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-ok3>(): String'
CONST String type=kotlin.String value='OK'
@@ -29,7 +39,7 @@ FILE /references.kt
RETURN type=kotlin.Nothing from='test4(): String'
CALL '<get-ok3>(): String' type=kotlin.String operator=GET_PROPERTY
PROPERTY public val kotlin.String.okext: kotlin.String
PROPERTY_GETTER public fun kotlin.String.<get-okext>(): kotlin.String
FUN public fun kotlin.String.<get-okext>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-okext>() on String: String'
CONST String type=kotlin.String value='OK'
@@ -9,28 +9,68 @@ FILE /reflectionLiterals.kt
FUN public fun bar(): kotlin.Unit
BLOCK_BODY
PROPERTY public val qux: kotlin.Int = 42
EXPRESSION_BODY
CONST Int type=kotlin.Int value='42'
FIELD public val qux: kotlin.Int = 42
EXPRESSION_BODY
CONST Int type=kotlin.Int value='42'
FUN public fun <get-qux>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-qux>(): Int'
GET_BACKING_FIELD 'qux: Int' type=kotlin.Int operator=null
PROPERTY public val test1: kotlin.reflect.KClass<A>
EXPRESSION_BODY
CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
FIELD public val test1: kotlin.reflect.KClass<A>
EXPRESSION_BODY
CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
FUN public fun <get-test1>(): kotlin.reflect.KClass<A>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): KClass<A>'
GET_BACKING_FIELD 'test1: KClass<A>' type=kotlin.reflect.KClass<A> operator=null
PROPERTY public val test2: kotlin.reflect.KClass<kotlin.Int>
EXPRESSION_BODY
GET_CLASS type=kotlin.reflect.KClass<kotlin.Int>
CALL '<get-qux>(): Int' type=kotlin.Int operator=GET_PROPERTY
FIELD public val test2: kotlin.reflect.KClass<kotlin.Int>
EXPRESSION_BODY
GET_CLASS type=kotlin.reflect.KClass<kotlin.Int>
CALL '<get-qux>(): Int' type=kotlin.Int operator=GET_PROPERTY
FUN public fun <get-test2>(): kotlin.reflect.KClass<kotlin.Int>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): KClass<Int>'
GET_BACKING_FIELD 'test2: KClass<Int>' type=kotlin.reflect.KClass<kotlin.Int> operator=null
PROPERTY public val test3: kotlin.reflect.KFunction1<A, kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1<A, kotlin.Unit> operator=null
FIELD public val test3: kotlin.reflect.KFunction1<A, kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1<A, kotlin.Unit> operator=null
FUN public fun <get-test3>(): kotlin.reflect.KFunction1<A, kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test3>(): KFunction1<A, Unit>'
GET_BACKING_FIELD 'test3: KFunction1<A, Unit>' type=kotlin.reflect.KFunction1<A, kotlin.Unit> operator=null
PROPERTY public val test4: kotlin.reflect.KFunction0<A>
EXPRESSION_BODY
CALLABLE_REFERENCE 'constructor A()' type=kotlin.reflect.KFunction0<A> operator=null
FIELD public val test4: kotlin.reflect.KFunction0<A>
EXPRESSION_BODY
CALLABLE_REFERENCE 'constructor A()' type=kotlin.reflect.KFunction0<A> operator=null
FUN public fun <get-test4>(): kotlin.reflect.KFunction0<A>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test4>(): KFunction0<A>'
GET_BACKING_FIELD 'test4: KFunction0<A>' type=kotlin.reflect.KFunction0<A> operator=null
PROPERTY public val test5: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
$this: CALL 'constructor A()' type=A operator=null
FIELD public val test5: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
$this: CALL 'constructor A()' type=A operator=null
FUN public fun <get-test5>(): kotlin.reflect.KFunction0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test5>(): KFunction0<Unit>'
GET_BACKING_FIELD 'test5: KFunction0<Unit>' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test6: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'bar(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
FIELD public val test6: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY
CALLABLE_REFERENCE 'bar(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
FUN public fun <get-test6>(): kotlin.reflect.KFunction0<kotlin.Unit>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test6>(): KFunction0<Unit>'
GET_BACKING_FIELD 'test6: KFunction0<Unit>' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test7: kotlin.reflect.KProperty0<kotlin.Int>
EXPRESSION_BODY
CALLABLE_REFERENCE 'qux: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
FIELD public val test7: kotlin.reflect.KProperty0<kotlin.Int>
EXPRESSION_BODY
CALLABLE_REFERENCE 'qux: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
FUN public fun <get-test7>(): kotlin.reflect.KProperty0<kotlin.Int>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test7>(): KProperty0<Int>'
GET_BACKING_FIELD 'test7: KProperty0<Int>' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
@@ -5,11 +5,11 @@ FILE /safeCallWithIncrementDecrement.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY public var test.C?.p: kotlin.Int
PROPERTY_GETTER public fun test.C?.<get-p>(): kotlin.Int
FUN public fun test.C?.<get-p>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>() on C?: Int'
CONST Int type=kotlin.Int value='42'
PROPERTY_SETTER public fun test.C?.<set-p>(value: kotlin.Int): kotlin.Unit
FUN public fun test.C?.<set-p>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY
FUN public operator fun kotlin.Int?.inc(): kotlin.Int?
BLOCK_BODY
+3 -2
View File
@@ -5,8 +5,9 @@ FILE /safeCalls.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Ref'
PROPERTY public final var value: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FIELD public final var value: kotlin.Int
EXPRESSION_BODY
GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS INTERFACE IHost
FUN public open fun kotlin.String.extLength(): kotlin.Int
BLOCK_BODY
-2
View File
@@ -8,5 +8,3 @@ var testVarWithAccessors: Int
// 1 FUN public fun testFun
// 1 PROPERTY public val testSimpleVal
// 2 PROPERTY_GETTER
// 1 PROPERTY_SETTER
+21 -7
View File
@@ -4,20 +4,34 @@ FILE /smoke.kt
RETURN type=kotlin.Nothing from='testFun(): String'
CONST String type=kotlin.String value='OK'
PROPERTY public val testSimpleVal: kotlin.Int = 1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='1'
FIELD public val testSimpleVal: kotlin.Int = 1
EXPRESSION_BODY
CONST Int type=kotlin.Int value='1'
FUN public fun <get-testSimpleVal>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testSimpleVal>(): Int'
GET_BACKING_FIELD 'testSimpleVal: Int' type=kotlin.Int operator=null
PROPERTY public val testValWithGetter: kotlin.Int
PROPERTY_GETTER public fun <get-testValWithGetter>(): kotlin.Int
FUN public fun <get-testValWithGetter>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testValWithGetter>(): Int'
CONST Int type=kotlin.Int value='42'
PROPERTY public var testSimpleVar: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='2'
FIELD public var testSimpleVar: kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value='2'
FUN public fun <get-testSimpleVar>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testSimpleVar>(): Int'
GET_BACKING_FIELD 'testSimpleVar: Int' type=kotlin.Int operator=null
FUN public fun <set-testSimpleVar>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY
SET_BACKING_FIELD 'testSimpleVar: Int' type=kotlin.Unit operator=null
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
PROPERTY public var testVarWithAccessors: kotlin.Int
PROPERTY_GETTER public fun <get-testVarWithAccessors>(): kotlin.Int
FUN public fun <get-testVarWithAccessors>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testVarWithAccessors>(): Int'
CONST Int type=kotlin.Int value='42'
PROPERTY_SETTER public fun <set-testVarWithAccessors>(v: kotlin.Int): kotlin.Unit
FUN public fun <set-testVarWithAccessors>(v: kotlin.Int): kotlin.Unit
BLOCK_BODY
+50 -18
View File
@@ -4,30 +4,62 @@ FILE /stringTemplates.kt
RETURN type=kotlin.Nothing from='foo(): String'
CONST String type=kotlin.String value=''
PROPERTY public val test1: kotlin.String = ""
EXPRESSION_BODY
CONST String type=kotlin.String value=''
FIELD public val test1: kotlin.String = ""
EXPRESSION_BODY
CONST String type=kotlin.String value=''
FUN public fun <get-test1>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): String'
GET_BACKING_FIELD 'test1: String' type=kotlin.String operator=null
PROPERTY public val test2: kotlin.String = "abc"
EXPRESSION_BODY
CONST String type=kotlin.String value='abc'
FIELD public val test2: kotlin.String = "abc"
EXPRESSION_BODY
CONST String type=kotlin.String value='abc'
FUN public fun <get-test2>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): String'
GET_BACKING_FIELD 'test2: String' type=kotlin.String operator=null
PROPERTY public val test3: kotlin.String = ""
EXPRESSION_BODY
CONST String type=kotlin.String value=''
FIELD public val test3: kotlin.String = ""
EXPRESSION_BODY
CONST String type=kotlin.String value=''
FUN public fun <get-test3>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test3>(): String'
GET_BACKING_FIELD 'test3: String' type=kotlin.String operator=null
PROPERTY public val test4: kotlin.String = "abc"
EXPRESSION_BODY
CONST String type=kotlin.String value='abc'
FIELD public val test4: kotlin.String = "abc"
EXPRESSION_BODY
CONST String type=kotlin.String value='abc'
FUN public fun <get-test4>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test4>(): String'
GET_BACKING_FIELD 'test4: String' type=kotlin.String operator=null
PROPERTY public val test5: kotlin.String = "
abc
"
EXPRESSION_BODY
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value='
FIELD public val test5: kotlin.String = "
abc
"
EXPRESSION_BODY
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value='
'
CONST String type=kotlin.String value='abc'
CONST String type=kotlin.String value='
CONST String type=kotlin.String value='abc'
CONST String type=kotlin.String value='
'
FUN public fun <get-test5>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test5>(): String'
GET_BACKING_FIELD 'test5: String' type=kotlin.String operator=null
PROPERTY public val test6: kotlin.String
EXPRESSION_BODY
STRING_CONCATENATION type=kotlin.String
CALL '<get-test1>(): String' type=kotlin.String operator=GET_PROPERTY
CONST String type=kotlin.String value=' '
CALL 'foo(): String' type=kotlin.String operator=null
FIELD public val test6: kotlin.String
EXPRESSION_BODY
STRING_CONCATENATION type=kotlin.String
CALL '<get-test1>(): String' type=kotlin.String operator=GET_PROPERTY
CONST String type=kotlin.String value=' '
CALL 'foo(): String' type=kotlin.String operator=null
FUN public fun <get-test6>(): kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test6>(): String'
GET_BACKING_FIELD 'test6: String' type=kotlin.String operator=null
+7 -2
View File
@@ -16,8 +16,13 @@ FILE /values.kt
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='A'
PROPERTY public val a: kotlin.Int = 0
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FIELD public val a: kotlin.Int = 0
EXPRESSION_BODY
CONST Int type=kotlin.Int value='0'
FUN public fun <get-a>(): kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-a>(): Int'
GET_BACKING_FIELD 'a: Int' type=kotlin.Int operator=null
CLASS CLASS Z
CONSTRUCTOR public constructor Z()
BLOCK_BODY
+32 -17
View File
@@ -1,21 +1,36 @@
FILE /vararg.kt
PROPERTY public val test1: kotlin.Array<kotlin.String>
EXPRESSION_BODY
CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
FIELD public val test1: kotlin.Array<kotlin.String>
EXPRESSION_BODY
CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
FUN public fun <get-test1>(): kotlin.Array<kotlin.String>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): Array<String>'
GET_BACKING_FIELD 'test1: Array<String>' type=kotlin.Array<kotlin.String> operator=null
PROPERTY public val test2: kotlin.Array<kotlin.String>
EXPRESSION_BODY
CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
elements: VARARG type=Array<out String> varargElementType=String
CONST String type=kotlin.String value='1'
CONST String type=kotlin.String value='2'
CONST String type=kotlin.String value='3'
FIELD public val test2: kotlin.Array<kotlin.String>
EXPRESSION_BODY
CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
elements: VARARG type=Array<out String> varargElementType=String
CONST String type=kotlin.String value='1'
CONST String type=kotlin.String value='2'
CONST String type=kotlin.String value='3'
FUN public fun <get-test2>(): kotlin.Array<kotlin.String>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): Array<String>'
GET_BACKING_FIELD 'test2: Array<String>' type=kotlin.Array<kotlin.String> operator=null
PROPERTY public val test3: kotlin.Array<kotlin.String>
EXPRESSION_BODY
CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
elements: VARARG type=Array<out String> varargElementType=String
CONST String type=kotlin.String value='0'
SPREAD_ELEMENT
CALL '<get-test2>(): Array<String>' type=kotlin.Array<kotlin.String> operator=GET_PROPERTY
SPREAD_ELEMENT
CALL '<get-test1>(): Array<String>' type=kotlin.Array<kotlin.String> operator=GET_PROPERTY
CONST String type=kotlin.String value='4'
FIELD public val test3: kotlin.Array<kotlin.String>
EXPRESSION_BODY
CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
elements: VARARG type=Array<out String> varargElementType=String
CONST String type=kotlin.String value='0'
SPREAD_ELEMENT
CALL '<get-test2>(): Array<String>' type=kotlin.Array<kotlin.String> operator=GET_PROPERTY
SPREAD_ELEMENT
CALL '<get-test1>(): Array<String>' type=kotlin.Array<kotlin.String> operator=GET_PROPERTY
CONST String type=kotlin.String value='4'
FUN public fun <get-test3>(): kotlin.Array<kotlin.String>
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test3>(): Array<String>'
GET_BACKING_FIELD 'test3: Array<String>' type=kotlin.Array<kotlin.String> operator=null