IR: IrConstructorCall: fixes after rebase

This commit is contained in:
Dmitry Petrov
2019-04-25 16:11:29 +03:00
parent 7f423bd841
commit 865e0cc080
21 changed files with 287 additions and 157 deletions
@@ -58,7 +58,7 @@ import org.jetbrains.org.objectweb.asm.Type
//Hack implementation to support CR java types in lower
class CrIrType(val type: Type) : IrType {
override val annotations: List<IrCall> = emptyList()
override val annotations: List<IrConstructorCall> = emptyList()
override fun equals(other: Any?): Boolean =
other is CrIrType && type == other.type
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
import org.jetbrains.kotlin.ir.declarations.IrField
import org.jetbrains.kotlin.ir.declarations.IrProperty
import org.jetbrains.kotlin.ir.expressions.IrCall
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.expressions.impl.IrExpressionBodyImpl
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
@@ -61,7 +62,7 @@ class IrLazyField(
symbol.bind(this)
}
override val annotations: MutableList<IrCall> = mutableListOf()
override val annotations: MutableList<IrConstructorCall> = mutableListOf()
override val descriptor: PropertyDescriptor = symbol.descriptor
@@ -154,7 +154,7 @@ FILE fqName:<root> fileName:/delegatedImplementation.kt
$this: VALUE_PARAMETER name:<this> type:<root>.otherImpl.<no name provided>
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
CALL 'private constructor <init> () [primary] declared in <root>.otherImpl.<no name provided>' type=<root>.otherImpl.<no name provided> origin=null
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.otherImpl.<no name provided>' type=<root>.otherImpl.<no name provided> origin=null
CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
CONSTRUCTOR visibility:public <> () returnType:<root>.Test1 [primary]
@@ -59,8 +59,9 @@ FILE fqName:<root> fileName:/constValInitializers.kt
PROPERTY name:STR4 visibility:public modality:FINAL [const,val]
FIELD PROPERTY_BACKING_FIELD name:STR4 type:kotlin.String visibility:public [final,static]
EXPRESSION_BODY
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
other: CALL 'public final fun <get-STR2> (): kotlin.String declared in <root>' type=kotlin.String origin=null
STRING_CONCATENATION type=kotlin.String
CALL 'public final fun <get-STR1> (): kotlin.String declared in <root>' type=kotlin.String origin=null
CALL 'public final fun <get-STR2> (): kotlin.String declared in <root>' type=kotlin.String origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-STR4> visibility:public modality:FINAL <> () returnType:kotlin.String
correspondingProperty: PROPERTY name:STR4 visibility:public modality:FINAL [const,val]
BLOCK_BODY
+8 -8
View File
@@ -1,12 +1,12 @@
FILE fqName:<root> fileName:/bangbang.kt
FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:IrErrorType
FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Nothing
VALUE_PARAMETER name:a index:0 type:kotlin.Any?
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Any?): IrErrorType declared in <root>'
BLOCK type=IrErrorType origin=EXCLEXCL
RETURN type=kotlin.Nothing from='public final fun test1 (a: kotlin.Any?): kotlin.Nothing declared in <root>'
BLOCK type=kotlin.Nothing origin=EXCLEXCL
VAR name:<bangbang> type:kotlin.Any? [val]
GET_VAR 'a: kotlin.Any? declared in <root>.test1' type=kotlin.Any? origin=null
WHEN type=IrErrorType origin=EXCLEXCL
WHEN type=kotlin.Nothing origin=EXCLEXCL
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <bangbang>: kotlin.Any? [val] declared in <root>.test1' type=kotlin.Any? origin=null
@@ -16,14 +16,14 @@ FILE fqName:<root> fileName:/bangbang.kt
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: GET_VAR 'val <bangbang>: kotlin.Any? [val] declared in <root>.test1' type=kotlin.Any? origin=null
FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:IrErrorType
FUN name:test2 visibility:public modality:FINAL <> (a:kotlin.Any?) returnType:kotlin.Nothing
VALUE_PARAMETER name:a index:0 type:kotlin.Any?
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Any?): IrErrorType declared in <root>'
BLOCK type=IrErrorType origin=EXCLEXCL
RETURN type=kotlin.Nothing from='public final fun test2 (a: kotlin.Any?): kotlin.Nothing declared in <root>'
BLOCK type=kotlin.Nothing origin=EXCLEXCL
VAR name:<bangbang> type:kotlin.Int [val]
CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null
WHEN type=IrErrorType origin=EXCLEXCL
WHEN type=kotlin.Nothing origin=EXCLEXCL
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <bangbang>: kotlin.Int [val] declared in <root>.test2' type=kotlin.Int origin=null
@@ -45,11 +45,11 @@ FILE fqName:<root> fileName:/breakContinueInLoopHeader.kt
WHILE label=L origin=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value=true
body: BLOCK type=kotlin.Unit origin=null
VAR name:<range> type:IrErrorType [val]
BLOCK type=IrErrorType origin=ELVIS
VAR name:<range> type:kotlin.Nothing [val]
BLOCK type=kotlin.Nothing origin=ELVIS
VAR name:<elvis> type:kotlin.collections.List<kotlin.String>? [val]
GET_VAR 'ss: kotlin.collections.List<kotlin.String>? declared in <root>.test3' type=kotlin.collections.List<kotlin.String>? origin=null
WHEN type=IrErrorType origin=ELVIS
WHEN type=kotlin.Nothing origin=ELVIS
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <elvis>: kotlin.collections.List<kotlin.String>? [val] declared in <root>.test3' type=kotlin.collections.List<kotlin.String>? origin=null
@@ -71,11 +71,11 @@ FILE fqName:<root> fileName:/breakContinueInLoopHeader.kt
WHILE label=L origin=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value=true
body: BLOCK type=kotlin.Unit origin=null
VAR name:<range> type:IrErrorType [val]
BLOCK type=IrErrorType origin=ELVIS
VAR name:<range> type:kotlin.Nothing [val]
BLOCK type=kotlin.Nothing origin=ELVIS
VAR name:<elvis> type:kotlin.collections.List<kotlin.String>? [val]
GET_VAR 'ss: kotlin.collections.List<kotlin.String>? declared in <root>.test4' type=kotlin.collections.List<kotlin.String>? origin=null
WHEN type=IrErrorType origin=ELVIS
WHEN type=kotlin.Nothing origin=ELVIS
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <elvis>: kotlin.collections.List<kotlin.String>? [val] declared in <root>.test4' type=kotlin.collections.List<kotlin.String>? origin=null
@@ -0,0 +1,49 @@
FILE fqName:<root> fileName:/constructorWithOwnTypeParametersCall.kt
FUN name:testKotlin visibility:public modality:FINAL <> () returnType:IrErrorType
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun testKotlin (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: K2>#' type=IrErrorType
FUN name:testJava visibility:public modality:FINAL <> () returnType:IrErrorType
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun testJava (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: J2>#' type=IrErrorType
CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.K1
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[]
CONSTRUCTOR visibility:public <> () returnType:<root>.K1<T1 of <root>.K1> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any]'
CLASS CLASS name:K2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.K1.K2
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[]
CONSTRUCTOR visibility:public <> () returnType:<root>.K1.K2<T2 of <root>.K1.K2> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
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
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
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
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
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
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -5,14 +5,14 @@ FILE fqName:<root> fileName:/eqeqRhsConditionPossiblyAffectingLhs.kt
RETURN type=kotlin.Nothing from='public final fun test (x: kotlin.Any): kotlin.Boolean declared in <root>'
CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'x: kotlin.Any declared in <root>.test' type=kotlin.Any origin=null
arg1: WHEN type=IrErrorType origin=IF
arg1: WHEN type=kotlin.Nothing origin=IF
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
GET_VAR 'x: kotlin.Any declared in <root>.test' type=kotlin.Any origin=null
then: BLOCK type=IrErrorType origin=EXCLEXCL
then: BLOCK type=kotlin.Nothing origin=EXCLEXCL
VAR name:<bangbang> type:kotlin.Nothing? [val]
CONST Null type=kotlin.Nothing? value=null
WHEN type=IrErrorType origin=EXCLEXCL
WHEN type=kotlin.Nothing origin=EXCLEXCL
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <bangbang>: kotlin.Nothing? [val] declared in <root>.test' type=kotlin.Nothing? origin=null
@@ -22,8 +22,7 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastInWhenSubject' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenSubject (x: kotlin.Any): kotlin.Int declared in <root>'
BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp1_subject type:kotlin.Any [val]
@@ -45,8 +44,7 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
GET_VAR 'y: kotlin.Any declared in <root>.testSmartCastInWhenCondition' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenCondition (x: kotlin.Double, y: kotlin.Any): kotlin.Int declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenCondition (x: kotlin.Double, y: kotlin.Any): kotlin.Int declared in <root>'
BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp2_subject type:kotlin.Double [val]
@@ -59,26 +57,25 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: CONST Int type=kotlin.Int value=1
FUN name:testSmartCastInWhenConditionInBranch visibility:public modality:FINAL <> (x:kotlin.Any) returnType:IrErrorType
FUN name:testSmartCastInWhenConditionInBranch visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Int
VALUE_PARAMETER name:x index:0 type:kotlin.Any
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenConditionInBranch (x: kotlin.Any): IrErrorType declared in <root>'
BLOCK type=IrErrorType origin=WHEN
RETURN type=kotlin.Nothing from='public final fun testSmartCastInWhenConditionInBranch (x: kotlin.Any): kotlin.Int declared in <root>'
BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp3_subject type:kotlin.Any [val]
WHEN type=IrErrorType origin=WHEN
WHEN type=kotlin.Int origin=WHEN
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
GET_VAR 'val tmp3_subject: kotlin.Any [val] declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
then: ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
then: CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val tmp3_subject: kotlin.Any [val] declared in <root>.testSmartCastInWhenConditionInBranch' type=kotlin.Any origin=null
arg1: CONST Double type=IrErrorType value=0.0
then: CONST Int type=IrErrorType value=0
arg1: CONST Double type=kotlin.Int value=0.0
then: CONST Int type=kotlin.Int value=0
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: CONST Int type=IrErrorType value=1
then: CONST Int type=kotlin.Int value=1
FUN name:testSmartCastToDifferentTypes visibility:public modality:FINAL <> (x:kotlin.Any, y:kotlin.Any) returnType:kotlin.Int
VALUE_PARAMETER name:x index:0 type:kotlin.Any
VALUE_PARAMETER name:y index:1 type:kotlin.Any
@@ -88,15 +85,13 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
GET_VAR 'x: kotlin.Any declared in <root>.testSmartCastToDifferentTypes' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastToDifferentTypes (x: kotlin.Any, y: kotlin.Any): kotlin.Int declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
WHEN type=kotlin.Int origin=IF
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Float
GET_VAR 'y: kotlin.Any declared in <root>.testSmartCastToDifferentTypes' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='public final fun testSmartCastToDifferentTypes (x: kotlin.Any, y: kotlin.Any): kotlin.Int declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
RETURN type=kotlin.Nothing from='public final fun testSmartCastToDifferentTypes (x: kotlin.Any, y: kotlin.Any): kotlin.Int declared in <root>'
BLOCK type=kotlin.Int origin=WHEN
VAR IR_TEMPORARY_VARIABLE name:tmp4_subject type:kotlin.Any [val]
@@ -8,7 +8,7 @@ FILE fqName:<root> fileName:/forWithBreakContinue.kt
CALL 'public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in kotlin.collections.List' type=kotlin.collections.Iterator<E of <uninitialized parent>> origin=null
WHILE label=null origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
body: BLOCK type=IrErrorType origin=null
body: BLOCK type=kotlin.Nothing origin=null
VAR name:s type:T of <uninitialized parent> [val]
CALL 'public abstract fun next (): T of <uninitialized parent> declared in kotlin.collections.Iterator' type=T of <uninitialized parent> origin=null
BREAK label=null loop.label=null
@@ -21,7 +21,7 @@ FILE fqName:<root> fileName:/forWithBreakContinue.kt
CALL 'public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in kotlin.collections.List' type=kotlin.collections.Iterator<E of <uninitialized parent>> origin=null
WHILE label=OUTER origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
body: BLOCK type=IrErrorType origin=null
body: BLOCK type=kotlin.Nothing origin=null
VAR name:s1 type:T of <uninitialized parent> [val]
CALL 'public abstract fun next (): T of <uninitialized parent> declared in kotlin.collections.Iterator' type=T of <uninitialized parent> origin=null
VAR name:<range> type:kotlin.collections.List<kotlin.String> [val]
@@ -30,7 +30,7 @@ FILE fqName:<root> fileName:/forWithBreakContinue.kt
CALL 'public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in kotlin.collections.List' type=kotlin.collections.Iterator<E of <uninitialized parent>> origin=null
WHILE label=INNER origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
body: BLOCK type=IrErrorType origin=null
body: BLOCK type=kotlin.Nothing origin=null
VAR name:s2 type:T of <uninitialized parent> [val]
CALL 'public abstract fun next (): T of <uninitialized parent> declared in kotlin.collections.Iterator' type=T of <uninitialized parent> origin=null
BREAK label=OUTER loop.label=OUTER
@@ -46,7 +46,7 @@ FILE fqName:<root> fileName:/forWithBreakContinue.kt
CALL 'public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in kotlin.collections.List' type=kotlin.collections.Iterator<E of <uninitialized parent>> origin=null
WHILE label=null origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
body: BLOCK type=IrErrorType origin=null
body: BLOCK type=kotlin.Nothing origin=null
VAR name:s type:T of <uninitialized parent> [val]
CALL 'public abstract fun next (): T of <uninitialized parent> declared in kotlin.collections.Iterator' type=T of <uninitialized parent> origin=null
CONTINUE label=null loop.label=null
@@ -59,7 +59,7 @@ FILE fqName:<root> fileName:/forWithBreakContinue.kt
CALL 'public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in kotlin.collections.List' type=kotlin.collections.Iterator<E of <uninitialized parent>> origin=null
WHILE label=OUTER origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
body: BLOCK type=IrErrorType origin=null
body: BLOCK type=kotlin.Nothing origin=null
VAR name:s1 type:T of <uninitialized parent> [val]
CALL 'public abstract fun next (): T of <uninitialized parent> declared in kotlin.collections.Iterator' type=T of <uninitialized parent> origin=null
VAR name:<range> type:kotlin.collections.List<kotlin.String> [val]
@@ -68,7 +68,7 @@ FILE fqName:<root> fileName:/forWithBreakContinue.kt
CALL 'public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in kotlin.collections.List' type=kotlin.collections.Iterator<E of <uninitialized parent>> origin=null
WHILE label=INNER origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
body: BLOCK type=IrErrorType origin=null
body: BLOCK type=kotlin.Nothing origin=null
VAR name:s2 type:T of <uninitialized parent> [val]
CALL 'public abstract fun next (): T of <uninitialized parent> declared in kotlin.collections.Iterator' type=T of <uninitialized parent> origin=null
CONTINUE label=OUTER loop.label=OUTER
@@ -0,0 +1,51 @@
FILE fqName:<root> fileName:/genericConstructorCallWithTypeArguments.kt
FUN name:testSimple visibility:public modality:FINAL <> () returnType:<root>.Box<T of <root>.Box>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun testSimple (): <root>.Box<T of <root>.Box> declared in <root>'
CONSTRUCTOR_CALL 'public constructor <init> (value: T of <root>.Box) [primary] declared in <root>.Box' type=<root>.Box<T of <root>.Box> origin=null
FUN name:testArray visibility:public modality:FINAL <T> (n:kotlin.Int, block:kotlin.Function0) returnType:kotlin.Array<T of <root>.testArray> [inline]
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
VALUE_PARAMETER name:n index:0 type:kotlin.Int
VALUE_PARAMETER name:block index:1 type:kotlin.Function0 [crossinline]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun testArray <T> (n: kotlin.Int, block: kotlin.Function0): kotlin.Array<T of <root>.testArray> [inline] declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: Array>#' type=IrErrorType
GET_VAR 'n: kotlin.Int declared in <root>.testArray' type=kotlin.Int origin=null
BLOCK type=IrErrorType origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:IrErrorType
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): IrErrorType declared in <root>.testArray'
ERROR_CALL 'Unresolved reference: <Unresolved name: block>#' type=IrErrorType
FUNCTION_REFERENCE 'local final fun <anonymous> (): IrErrorType declared in <root>.testArray' type=IrErrorType origin=LAMBDA
CLASS CLASS name:Box modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Box
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
CONSTRUCTOR visibility:public <> (value:T of <root>.Box) returnType:<root>.Box<T of <root>.Box> [primary]
VALUE_PARAMETER name:value index:0 type:T of <root>.Box
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Box modality:FINAL visibility:public superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:T of <root>.Box visibility:public [final]
EXPRESSION_BODY
GET_VAR 'value: T of <root>.Box declared in <root>.Box.<init>' type=T of <root>.Box origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Box) returnType:T of <root>.Box
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Box
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): T of <root>.Box declared in <root>.Box'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of <root>.Box visibility:public [final] ' type=T of <root>.Box origin=null
receiver: GET_VAR '<this>: <root>.Box declared in <root>.Box.<get-value>' type=<root>.Box origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
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
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
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -2,10 +2,10 @@ FILE fqName:<root> fileName:/javaSyntheticPropertyAccess.kt
FUN name:test visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
VALUE_PARAMETER name:j index:0 type:<root>.J
BLOCK_BODY
ERROR_CALL 'No getter found for R|/J.foo|' type=kotlin.Int
ERROR_CALL 'Unresolved reference: R|/J.foo|' type=IrErrorType
VAR name:<unary> type:kotlin.Int [val]
ERROR_CALL 'No getter found for R|/J.foo|' type=kotlin.Int
ERROR_CALL 'Unresolved reference: R|/J.foo|' type=IrErrorType
GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
ERROR_CALL 'Unresolved reference: R|/J.foo|' type=IrErrorType
ERROR_CALL 'Unresolved reference: <Ambiguity: foo, [/J.foo, /J.foo]>#' type=IrErrorType
ERROR_CALL 'Unresolved reference: <Ambiguity: foo, [/J.foo, /J.foo]>#' type=IrErrorType
VAR name:<unary> type:IrErrorType [val]
ERROR_CALL 'Unresolved reference: <Ambiguity: foo, [/J.foo, /J.foo]>#' type=IrErrorType
ERROR_CALL 'Unresolved reference: <Ambiguity: foo, [/J.foo, /J.foo]>#' type=IrErrorType
GET_VAR 'val <unary>: IrErrorType [val] declared in <root>.test' type=IrErrorType origin=null
ERROR_CALL 'Unresolved reference: <Ambiguity: foo, [/J.foo, /J.foo]>#' type=IrErrorType
+19 -14
View File
@@ -38,7 +38,8 @@ FILE fqName:<root> fileName:/kt28006.kt
PROPERTY name:testConst3 visibility:public modality:FINAL [const,val]
FIELD PROPERTY_BACKING_FIELD name:testConst3 type:kotlin.String visibility:public [final,static]
EXPRESSION_BODY
ERROR_CALL 'Cannot bind 2 arguments to plus call with 1 parameters' type=kotlin.String
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="\uD83E"
CONST String type=kotlin.String value="\uDD17"
CALL 'public final fun <get-testConst2> (): kotlin.String declared in <root>' type=kotlin.String origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testConst3> visibility:public modality:FINAL <> () returnType:kotlin.String
@@ -49,8 +50,9 @@ FILE fqName:<root> fileName:/kt28006.kt
PROPERTY name:testConst4 visibility:public modality:FINAL [const,val]
FIELD PROPERTY_BACKING_FIELD name:testConst4 type:kotlin.String visibility:public [final,static]
EXPRESSION_BODY
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
other: CALL 'public final fun <get-testConst2> (): kotlin.String declared in <root>' type=kotlin.String origin=null
STRING_CONCATENATION type=kotlin.String
CALL 'public final fun <get-testConst2> (): kotlin.String declared in <root>' type=kotlin.String origin=null
CALL 'public final fun <get-testConst2> (): kotlin.String declared in <root>' type=kotlin.String origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testConst4> visibility:public modality:FINAL <> () returnType:kotlin.String
correspondingProperty: PROPERTY name:testConst4 visibility:public modality:FINAL [const,val]
BLOCK_BODY
@@ -60,21 +62,24 @@ FILE fqName:<root> fileName:/kt28006.kt
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Int): kotlin.String declared in <root>'
ERROR_CALL 'Cannot bind 2 arguments to plus call with 1 parameters' type=kotlin.String
CONST String type=kotlin.String value="\uDD17"
GET_VAR 'x: kotlin.Int declared in <root>.test1' type=kotlin.Int origin=null
FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:IrErrorType
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Int): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Ambiguity: plus, [kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus]>#' type=IrErrorType
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="\uD83E"
CONST String type=kotlin.String value="\uDD17"
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:IrErrorType
GET_VAR 'x: kotlin.Int declared in <root>.test1' type=kotlin.Int origin=null
FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Int): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Ambiguity: plus, [kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus]>#' type=IrErrorType
RETURN type=kotlin.Nothing from='public final fun test2 (x: kotlin.Int): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
GET_VAR 'x: kotlin.Int declared in <root>.test2' type=kotlin.Int origin=null
CONST String type=kotlin.String value="\uD83E"
CONST String type=kotlin.String value="\uDD17"
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.String
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Int): kotlin.String declared in <root>'
STRING_CONCATENATION type=kotlin.String
GET_VAR 'x: kotlin.Int declared in <root>.test3' type=kotlin.Int origin=null
CONST String type=kotlin.String value="\uD83E"
CONST String type=kotlin.String value="\uDD17"
GET_VAR 'x: kotlin.Int declared in <root>.test3' type=kotlin.Int origin=null
+36 -36
View File
@@ -36,11 +36,11 @@ FILE fqName:<root> fileName:/kt30020.kt
TYPE_OP type=kotlin.collections.MutableList<kotlin.Int> origin=CAST typeOperand=kotlin.collections.MutableList<kotlin.Int>
CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
ERROR_CALL 'Unresolved reference: R|<local>/<complex-set>|' type=IrErrorType
VAR name:<complex-set> type:IrErrorType [val]
BLOCK type=IrErrorType origin=EXCLEXCL
VAR name:<complex-set> type:kotlin.Nothing [val]
BLOCK type=kotlin.Nothing origin=EXCLEXCL
VAR name:<bangbang> type:kotlin.collections.MutableList<kotlin.Any> [val]
CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
WHEN type=IrErrorType origin=EXCLEXCL
WHEN type=kotlin.Nothing origin=EXCLEXCL
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Any> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Any> origin=null
@@ -51,11 +51,11 @@ FILE fqName:<root> fileName:/kt30020.kt
if: CONST Boolean type=kotlin.Boolean value=true
then: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Any> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Any> origin=null
ERROR_CALL 'Unresolved reference: R|<local>/<complex-set>|' type=IrErrorType
VAR name:<complex-set> type:IrErrorType [val]
BLOCK type=IrErrorType origin=EXCLEXCL
VAR name:<complex-set> type:kotlin.Nothing [val]
BLOCK type=kotlin.Nothing origin=EXCLEXCL
VAR name:<bangbang> type:kotlin.collections.MutableList<kotlin.Any> [val]
CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
WHEN type=IrErrorType origin=EXCLEXCL
WHEN type=kotlin.Nothing origin=EXCLEXCL
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Any> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Any> origin=null
@@ -102,87 +102,87 @@ FILE fqName:<root> fileName:/kt30020.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:E of <uninitialized parent>) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean
overridden:
public abstract fun add (element: E of <uninitialized parent>): kotlin.Boolean declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:element index:0 type:E of <uninitialized parent>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection<E of <uninitialized parent>>) returnType:kotlin.Boolean
VALUE_PARAMETER name:element index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
overridden:
public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<E of <uninitialized parent>>): kotlin.Boolean declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:index index:0 type:kotlin.Int
VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<E of <uninitialized parent>>
VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit
overridden:
public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator<kotlin.Int>
overridden:
public abstract fun listIterator (): kotlin.collections.MutableListIterator<E of <uninitialized parent>> declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:E of <uninitialized parent>) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean
overridden:
public abstract fun remove (element: E of <uninitialized parent>): kotlin.Boolean declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:element index:0 type:E of <uninitialized parent>
FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection<E of <uninitialized parent>>) returnType:kotlin.Boolean
VALUE_PARAMETER name:element index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
overridden:
public abstract fun removeAll (elements: kotlin.collections.Collection<E of <uninitialized parent>>): kotlin.Boolean declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:E of <uninitialized parent>
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.Int
overridden:
public abstract fun removeAt (index: kotlin.Int): E of <uninitialized parent> declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:index index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection<E of <uninitialized parent>>) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
overridden:
public abstract fun retainAll (elements: kotlin.collections.Collection<E of <uninitialized parent>>): kotlin.Boolean declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:E of <uninitialized parent>) returnType:E of <uninitialized parent>
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.Int) returnType:kotlin.Int
overridden:
public abstract fun set (index: kotlin.Int, element: E of <uninitialized parent>): E of <uninitialized parent> declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:index index:0 type:kotlin.Int
VALUE_PARAMETER name:element index:1 type:E of <uninitialized parent>
FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<E of <uninitialized parent>>
VALUE_PARAMETER name:element index:1 type:kotlin.Int
FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<kotlin.Int>
overridden:
public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<E of <uninitialized parent>> declared in kotlin.collections.MutableList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int
VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int
FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, element:E of <uninitialized parent>) returnType:kotlin.Boolean
FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, element:kotlin.Int) returnType:kotlin.Boolean
overridden:
public abstract fun contains (element: E of <uninitialized parent>): kotlin.Boolean declared in <no parent>.List
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.List
VALUE_PARAMETER name:element index:0 type:E of <uninitialized parent>
FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:E of <uninitialized parent>) returnType:kotlin.Boolean
VALUE_PARAMETER name:element index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.Int) returnType:kotlin.Boolean
overridden:
public abstract fun contains (element: E of <uninitialized parent>): kotlin.Boolean declared in kotlin.collections.Collection
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection
VALUE_PARAMETER name:element index:0 type:E of <uninitialized parent>
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, elements:kotlin.collections.Collection<E of <uninitialized parent>>) returnType:kotlin.Boolean
VALUE_PARAMETER name:element index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
overridden:
public abstract fun containsAll (elements: kotlin.collections.Collection<E of <uninitialized parent>>): kotlin.Boolean declared in <no parent>.List
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.List
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection<E of <uninitialized parent>>) returnType:kotlin.Boolean
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
overridden:
public abstract fun containsAll (elements: kotlin.collections.Collection<E of <uninitialized parent>>): kotlin.Boolean declared in kotlin.collections.Collection
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, index:kotlin.Int) returnType:E of <uninitialized parent>
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, index:kotlin.Int) returnType:kotlin.Int
overridden:
public abstract fun get (index: kotlin.Int): E of <uninitialized parent> declared in <no parent>.List
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.List
VALUE_PARAMETER name:index index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, element:E of <uninitialized parent>) returnType:kotlin.Int
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, element:kotlin.Int) returnType:kotlin.Int
overridden:
public abstract fun indexOf (element: E of <uninitialized parent>): kotlin.Int declared in <no parent>.List
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.List
VALUE_PARAMETER name:element index:0 type:E of <uninitialized parent>
VALUE_PARAMETER name:element index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List) returnType:kotlin.Boolean
overridden:
public abstract fun isEmpty (): kotlin.Boolean declared in <no parent>.List
@@ -191,19 +191,19 @@ FILE fqName:<root> fileName:/kt30020.kt
overridden:
public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Collection
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection
FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List) returnType:kotlin.collections.Iterator<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List) returnType:kotlin.collections.Iterator<kotlin.Int>
overridden:
public abstract fun iterator (): kotlin.collections.Iterator<E of <uninitialized parent>> declared in <no parent>.List
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.List
FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.MutableCollection) returnType:kotlin.collections.MutableIterator<E of <uninitialized parent>>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.MutableCollection) returnType:kotlin.collections.MutableIterator<kotlin.Int>
overridden:
public abstract fun iterator (): kotlin.collections.MutableIterator<E of <uninitialized parent>> declared in <no parent>.MutableCollection
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.MutableCollection
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, element:E of <uninitialized parent>) returnType:kotlin.Int
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:<uninitialized parent>.List, element:kotlin.Int) returnType:kotlin.Int
overridden:
public abstract fun lastIndexOf (element: E of <uninitialized parent>): kotlin.Int declared in <no parent>.List
$this: VALUE_PARAMETER name:<this> type:<uninitialized parent>.List
VALUE_PARAMETER name:element index:0 type:E of <uninitialized parent>
VALUE_PARAMETER name:element index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
+20 -24
View File
@@ -9,15 +9,14 @@ FILE fqName:<root> fileName:/literals.kt
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): kotlin.Int declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null
PROPERTY name:test2 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test2 type:IrErrorType visibility:public [final,static]
FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static]
EXPRESSION_BODY
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:IrErrorType
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:kotlin.Int
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): IrErrorType declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): kotlin.Int declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null
PROPERTY name:test3 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Boolean visibility:public [final,static]
EXPRESSION_BODY
@@ -64,15 +63,14 @@ FILE fqName:<root> fileName:/literals.kt
RETURN type=kotlin.Nothing from='public final fun <get-test7> (): kotlin.Long declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test7 type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null
PROPERTY name:test8 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test8 type:IrErrorType visibility:public [final,static]
FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Long visibility:public [final,static]
EXPRESSION_BODY
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Long type=kotlin.Long value=1
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> () returnType:IrErrorType
CALL 'public final fun unaryMinus (): kotlin.Long declared in kotlin.Long' type=kotlin.Long origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> () returnType:kotlin.Long
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): IrErrorType declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): kotlin.Long declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test8 type:kotlin.Long visibility:public [final,static] ' type=kotlin.Long origin=null
PROPERTY name:test9 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Double visibility:public [final,static]
EXPRESSION_BODY
@@ -83,15 +81,14 @@ FILE fqName:<root> fileName:/literals.kt
RETURN type=kotlin.Nothing from='public final fun <get-test9> (): kotlin.Double declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test9 type:kotlin.Double visibility:public [final,static] ' type=kotlin.Double origin=null
PROPERTY name:test10 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test10 type:IrErrorType visibility:public [final,static]
FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Double visibility:public [final,static]
EXPRESSION_BODY
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Double type=kotlin.Double value=1.0
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test10> visibility:public modality:FINAL <> () returnType:IrErrorType
CALL 'public final fun unaryMinus (): kotlin.Double declared in kotlin.Double' type=kotlin.Double origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test10> visibility:public modality:FINAL <> () returnType:kotlin.Double
correspondingProperty: PROPERTY name:test10 visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test10> (): IrErrorType declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null
RETURN type=kotlin.Nothing from='public final fun <get-test10> (): kotlin.Double declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test10 type:kotlin.Double visibility:public [final,static] ' type=kotlin.Double origin=null
PROPERTY name:test11 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Float visibility:public [final,static]
EXPRESSION_BODY
@@ -102,15 +99,14 @@ FILE fqName:<root> fileName:/literals.kt
RETURN type=kotlin.Nothing from='public final fun <get-test11> (): kotlin.Float declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test11 type:kotlin.Float visibility:public [final,static] ' type=kotlin.Float origin=null
PROPERTY name:test12 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test12 type:IrErrorType visibility:public [final,static]
FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Float visibility:public [final,static]
EXPRESSION_BODY
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Float type=kotlin.Float value=1.0
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test12> visibility:public modality:FINAL <> () returnType:IrErrorType
CALL 'public final fun unaryMinus (): kotlin.Float declared in kotlin.Float' type=kotlin.Float origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test12> visibility:public modality:FINAL <> () returnType:kotlin.Float
correspondingProperty: PROPERTY name:test12 visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test12> (): IrErrorType declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null
RETURN type=kotlin.Nothing from='public final fun <get-test12> (): kotlin.Float declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test12 type:kotlin.Float visibility:public [final,static] ' type=kotlin.Float origin=null
PROPERTY name:test13 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Char visibility:public [final,static]
EXPRESSION_BODY
@@ -19,8 +19,9 @@ FILE fqName:<root> fileName:/objectReferenceInFieldInitializer.kt
PROPERTY name:b visibility:private modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final]
EXPRESSION_BODY
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
other: CALL 'private final fun <get-a> (): kotlin.String declared in <root>.A' type=kotlin.String origin=null
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="1234"
CALL 'private final fun <get-a> (): kotlin.String declared in <root>.A' type=kotlin.String origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-b> visibility:private modality:FINAL <> ($this:<root>.A) returnType:kotlin.String
correspondingProperty: PROPERTY name:b visibility:private modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.A
@@ -62,8 +62,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
VAR name:test3 type:kotlin.Long? [val]
CONST Int type=kotlin.Long? value=42
VAR name:test4 type:kotlin.Long? [val]
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=1
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
VAR name:test5 type:kotlin.Long? [val]
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
VAR name:test6 type:kotlin.Short? [val]
@@ -1,34 +1,28 @@
FILE fqName:<root> fileName:/simpleUnaryOperators.kt
FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:IrErrorType
FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Int): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
GET_VAR 'x: kotlin.Int declared in <root>.test1' type=kotlin.Int origin=null
FUN name:test2 visibility:public modality:FINAL <> () returnType:IrErrorType
RETURN type=kotlin.Nothing from='public final fun test1 (x: kotlin.Int): kotlin.Int declared in <root>'
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test2 (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryMinus>#' type=IrErrorType
CONST Int type=kotlin.Int value=42
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:IrErrorType
RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.Int declared in <root>'
CALL 'public final fun unaryMinus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Int): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryPlus>#' type=IrErrorType
GET_VAR 'x: kotlin.Int declared in <root>.test3' type=kotlin.Int origin=null
FUN name:test4 visibility:public modality:FINAL <> () returnType:IrErrorType
RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Int): kotlin.Int declared in <root>'
CALL 'public final fun unaryPlus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test4 (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: unaryPlus>#' type=IrErrorType
CONST Int type=kotlin.Int value=42
FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Boolean) returnType:IrErrorType
RETURN type=kotlin.Nothing from='public final fun test4 (): kotlin.Int declared in <root>'
CALL 'public final fun unaryPlus (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
FUN name:test5 visibility:public modality:FINAL <> (x:kotlin.Boolean) returnType:kotlin.Boolean
VALUE_PARAMETER name:x index:0 type:kotlin.Boolean
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test5 (x: kotlin.Boolean): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: not>#' type=IrErrorType
GET_VAR 'x: kotlin.Boolean declared in <root>.test5' type=kotlin.Boolean origin=null
FUN name:test6 visibility:public modality:FINAL <> () returnType:IrErrorType
RETURN type=kotlin.Nothing from='public final fun test5 (x: kotlin.Boolean): kotlin.Boolean declared in <root>'
CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=null
FUN name:test6 visibility:public modality:FINAL <> () returnType:kotlin.Boolean
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test6 (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Unresolved name: not>#' type=IrErrorType
CONST Boolean type=kotlin.Boolean value=true
RETURN type=kotlin.Nothing from='public final fun test6 (): kotlin.Boolean declared in <root>'
CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=null
@@ -19,8 +19,9 @@ FILE fqName:<root> fileName:/coercionInLoop.kt
GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
arg1: ERROR_CALL 'Unresolved reference: <Unresolved name: next>#' type=IrErrorType
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
other: GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value="Fail "
GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
VAR name:<unary> type:kotlin.Int [val]
GET_VAR 'var i: kotlin.Int [var] declared in <root>.box' type=kotlin.Int origin=null
ERROR_CALL 'Unresolved reference: R|<local>/i|' type=IrErrorType
@@ -6,7 +6,7 @@ FILE fqName:<root> fileName:/javaConstructorWithTypeParameters.kt
FUN name:test2 visibility:public modality:FINAL <> () returnType:<root>.J1
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test2 (): <root>.J1 declared in <root>'
CONSTRUCTOR_CALL 'public constructor <init> (x1: IrErrorType) declared in <root>.J1' type=<root>.J1 origin=null
CONSTRUCTOR_CALL 'public constructor <init> (x1: X1 of <uninitialized parent>?) declared in <root>.J1' type=<root>.J1 origin=null
FUN name:test3 visibility:public modality:FINAL <> (j1:<root>.J1<kotlin.Any>) returnType:IrErrorType
VALUE_PARAMETER name:j1 index:0 type:<root>.J1<kotlin.Any>
BLOCK_BODY
+37
View File
@@ -0,0 +1,37 @@
FILE fqName:<root> fileName:/kt30796.kt
FUN name:testElvis1 visibility:public modality:FINAL <T> (value:T of <root>.testElvis1) returnType:kotlin.Any
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
VALUE_PARAMETER name:value index:0 type:T of <root>.testElvis1
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun testElvis1 <T> (value: T of <root>.testElvis1): kotlin.Any declared in <root>'
BLOCK type=kotlin.Any origin=ELVIS
VAR name:<elvis> type:T of <root>.testElvis1 [val]
GET_VAR 'value: T of <root>.testElvis1 declared in <root>.testElvis1' type=T of <root>.testElvis1 origin=null
WHEN type=kotlin.Any origin=ELVIS
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <elvis>: T of <root>.testElvis1 [val] declared in <root>.testElvis1' type=T of <root>.testElvis1 origin=null
arg1: CONST Null type=kotlin.Nothing? value=null
then: CONST Int type=kotlin.Any value=42
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: GET_VAR 'val <elvis>: T of <root>.testElvis1 [val] declared in <root>.testElvis1' type=T of <root>.testElvis1 origin=null
FUN name:testElvis2 visibility:public modality:FINAL <T> (value:T of <root>.testElvis2) returnType:kotlin.Any
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
VALUE_PARAMETER name:value index:0 type:T of <root>.testElvis2
BLOCK_BODY
VAR name:a type:kotlin.Int [val]
BLOCK type=kotlin.Int origin=ELVIS
VAR name:<elvis> type:T of <root>.testElvis2 [val]
GET_VAR 'value: T of <root>.testElvis2 declared in <root>.testElvis2' type=T of <root>.testElvis2 origin=null
WHEN type=kotlin.Int origin=ELVIS
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'val <elvis>: T of <root>.testElvis2 [val] declared in <root>.testElvis2' type=T of <root>.testElvis2 origin=null
arg1: CONST Null type=kotlin.Nothing? value=null
then: CONST Int type=kotlin.Int value=42
BRANCH
if: CONST Boolean type=kotlin.Boolean value=true
then: GET_VAR 'val <elvis>: T of <root>.testElvis2 [val] declared in <root>.testElvis2' type=T of <root>.testElvis2 origin=null
RETURN type=kotlin.Nothing from='public final fun testElvis2 <T> (value: T of <root>.testElvis2): kotlin.Any declared in <root>'
GET_VAR 'val a: kotlin.Int [val] declared in <root>.testElvis2' type=kotlin.Int origin=null