| FILE fqName:<root> fileName:/kt1199.kt | |
| CLASS INTERFACE name:MyIterator modality:ABSTRACT visibility:public superTypes:[kotlin.Any] | |
| thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.MyIterator<T of <root>.MyIterator> | |
| TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false | |
| FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any | |
| VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? | |
| overridden: | |
| public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any | |
| FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any | |
| overridden: | |
| public open fun hashCode (): kotlin.Int declared in kotlin.Any | |
| FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any | |
| overridden: | |
| public open fun toString (): kotlin.String declared in kotlin.Any | |
| FUN name:hasNext visibility:public modality:ABSTRACT returnType:kotlin.Boolean [operator] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.MyIterator<T of <root>.MyIterator> | |
| FUN name:next visibility:public modality:ABSTRACT returnType:T of <root>.MyIterator [operator] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.MyIterator<T of <root>.MyIterator> | |
| FUN name:box visibility:public modality:FINAL returnType:kotlin.String | |
| BLOCK_BODY | |
| VAR name:k type:kotlin.Int [var] | |
| CONST Int type=kotlin.Int value=0 | |
| BLOCK type=kotlin.Unit origin=FOR_LOOP | |
| VAR FOR_LOOP_ITERATOR name:tmp_0 type:<root>.MyIterator<kotlin.Int> [val] | |
| CALL 'public final fun iterator <T> (<this>: T of <root>.iterator?): <root>.MyIterator<T of <root>.iterator> declared in <root>' type=<root>.MyIterator<kotlin.Int> origin=null | |
| TYPE_ARG T: kotlin.Int | |
| ARG <this>: CONST Int type=kotlin.Int value=1 | |
| WHILE label=null origin=FOR_LOOP_INNER_WHILE | |
| condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in <root>.MyIterator' type=kotlin.Boolean origin=null | |
| ARG <this>: GET_VAR 'val tmp_0: <root>.MyIterator<kotlin.Int> declared in <root>.box' type=<root>.MyIterator<kotlin.Int> origin=null | |
| body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE | |
| VAR name:i type:kotlin.Int [val] | |
| CALL 'public abstract fun next (): T of <root>.MyIterator declared in <root>.MyIterator' type=kotlin.Int origin=null | |
| ARG <this>: GET_VAR 'val tmp_0: <root>.MyIterator<kotlin.Int> declared in <root>.box' type=<root>.MyIterator<kotlin.Int> origin=null | |
| TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit | |
| BLOCK type=kotlin.Int origin=POSTFIX_INCR | |
| VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val] | |
| GET_VAR 'var k: kotlin.Int declared in <root>.box' type=kotlin.Int origin=POSTFIX_INCR | |
| SET_VAR 'var k: kotlin.Int declared in <root>.box' type=kotlin.Unit origin=POSTFIX_INCR | |
| CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR | |
| ARG <this>: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null | |
| GET_VAR 'val tmp_1: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null | |
| RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>' | |
| WHEN type=kotlin.String origin=IF | |
| 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 | |
| ARG arg0: GET_VAR 'var k: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null | |
| ARG arg1: CONST Int type=kotlin.Int value=1 | |
| then: CONST String type=kotlin.String value="OK" | |
| BRANCH | |
| if: CONST Boolean type=kotlin.Boolean value=true | |
| then: CONST String type=kotlin.String value="fail" | |
| FUN name:iterator visibility:public modality:FINAL returnType:<root>.MyIterator<T of <root>.iterator> [operator] | |
| TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false | |
| VALUE_PARAMETER kind:ExtensionReceiver name:<this> index:0 type:T of <root>.iterator? | |
| BLOCK_BODY | |
| RETURN type=kotlin.Nothing from='public final fun iterator <T> (<this>: T of <root>.iterator?): <root>.MyIterator<T of <root>.iterator> declared in <root>' | |
| BLOCK type=<root>.iterator.<no name provided><T of <root>.iterator> origin=OBJECT_LITERAL | |
| CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.MyIterator<T of <root>.iterator>] | |
| thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.iterator.<no name provided><T of <root>.iterator> | |
| PROPERTY name:hasNext visibility:private modality:FINAL [var] | |
| FIELD PROPERTY_BACKING_FIELD name:hasNext type:kotlin.Boolean visibility:private | |
| EXPRESSION_BODY | |
| CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ | |
| ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ | |
| ARG arg0: GET_VAR '<this>: T of <root>.iterator? declared in <root>.iterator' type=T of <root>.iterator? origin=null | |
| ARG arg1: CONST Null type=kotlin.Nothing? value=null | |
| FUN DEFAULT_PROPERTY_ACCESSOR name:<get-hasNext> visibility:private modality:FINAL returnType:kotlin.Boolean | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.iterator.<no name provided><T of <root>.iterator> | |
| correspondingProperty: PROPERTY name:hasNext visibility:private modality:FINAL [var] | |
| BLOCK_BODY | |
| RETURN type=kotlin.Nothing from='private final fun <get-hasNext> (): kotlin.Boolean declared in <root>.iterator.<no name provided>' | |
| GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:hasNext type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null | |
| receiver: GET_VAR '<this>: <root>.iterator.<no name provided><T of <root>.iterator> declared in <root>.iterator.<no name provided>.<get-hasNext>' type=<root>.iterator.<no name provided><T of <root>.iterator> origin=null | |
| FUN DEFAULT_PROPERTY_ACCESSOR name:<set-hasNext> visibility:private modality:FINAL returnType:kotlin.Unit | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.iterator.<no name provided><T of <root>.iterator> | |
| VALUE_PARAMETER kind:Regular name:<set-?> index:1 type:kotlin.Boolean | |
| correspondingProperty: PROPERTY name:hasNext visibility:private modality:FINAL [var] | |
| BLOCK_BODY | |
| SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:hasNext type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null | |
| receiver: GET_VAR '<this>: <root>.iterator.<no name provided><T of <root>.iterator> declared in <root>.iterator.<no name provided>.<set-hasNext>' type=<root>.iterator.<no name provided><T of <root>.iterator> origin=null | |
| value: GET_VAR '<set-?>: kotlin.Boolean declared in <root>.iterator.<no name provided>.<set-hasNext>' type=kotlin.Boolean origin=null | |
| CONSTRUCTOR visibility:public returnType:<root>.iterator.<no name provided><T of <root>.iterator> [primary] | |
| BLOCK_BODY | |
| DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any' | |
| INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.MyIterator<T of <root>.iterator>]' type=kotlin.Unit | |
| FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any | |
| VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? | |
| overridden: | |
| public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.MyIterator | |
| FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any | |
| overridden: | |
| public open fun hashCode (): kotlin.Int declared in <root>.MyIterator | |
| FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any | |
| overridden: | |
| public open fun toString (): kotlin.String declared in <root>.MyIterator | |
| FUN name:hasNext visibility:public modality:OPEN returnType:kotlin.Boolean [operator] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.iterator.<no name provided><T of <root>.iterator> | |
| overridden: | |
| public abstract fun hasNext (): kotlin.Boolean declared in <root>.MyIterator | |
| BLOCK_BODY | |
| RETURN type=kotlin.Nothing from='public open fun hasNext (): kotlin.Boolean declared in <root>.iterator.<no name provided>' | |
| CALL 'private final fun <get-hasNext> (): kotlin.Boolean declared in <root>.iterator.<no name provided>' type=kotlin.Boolean origin=GET_PROPERTY | |
| ARG <this>: GET_VAR '<this>: <root>.iterator.<no name provided><T of <root>.iterator> declared in <root>.iterator.<no name provided>.hasNext' type=<root>.iterator.<no name provided><T of <root>.iterator> origin=IMPLICIT_ARGUMENT | |
| FUN name:next visibility:public modality:OPEN returnType:T of <root>.iterator [operator] | |
| VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.iterator.<no name provided><T of <root>.iterator> | |
| overridden: | |
| public abstract fun next (): T of <root>.MyIterator declared in <root>.MyIterator | |
| BLOCK_BODY | |
| WHEN type=kotlin.Unit origin=IF | |
| BRANCH | |
| if: CALL 'private final fun <get-hasNext> (): kotlin.Boolean declared in <root>.iterator.<no name provided>' type=kotlin.Boolean origin=GET_PROPERTY | |
| ARG <this>: GET_VAR '<this>: <root>.iterator.<no name provided><T of <root>.iterator> declared in <root>.iterator.<no name provided>.next' type=<root>.iterator.<no name provided><T of <root>.iterator> origin=IMPLICIT_ARGUMENT | |
| then: BLOCK type=kotlin.Unit origin=null | |
| CALL 'private final fun <set-hasNext> (<set-?>: kotlin.Boolean): kotlin.Unit declared in <root>.iterator.<no name provided>' type=kotlin.Unit origin=EQ | |
| ARG <this>: GET_VAR '<this>: <root>.iterator.<no name provided><T of <root>.iterator> declared in <root>.iterator.<no name provided>.next' type=<root>.iterator.<no name provided><T of <root>.iterator> origin=IMPLICIT_ARGUMENT | |
| ARG <set-?>: CONST Boolean type=kotlin.Boolean value=false | |
| RETURN type=kotlin.Nothing from='public open fun next (): T of <root>.iterator declared in <root>.iterator.<no name provided>' | |
| CALL 'public final fun CHECK_NOT_NULL <T0> (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type={T of <root>.iterator & Any} origin=EXCLEXCL | |
| TYPE_ARG T0: {T of <root>.iterator & Any} | |
| ARG arg0: GET_VAR '<this>: T of <root>.iterator? declared in <root>.iterator' type=T of <root>.iterator? origin=null | |
| THROW type=kotlin.Nothing | |
| CONSTRUCTOR_CALL 'public constructor <init> () declared in java.util.NoSuchElementException' type=java.util.NoSuchElementException origin=null | |
| CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.iterator.<no name provided>' type=<root>.iterator.<no name provided><T of <root>.iterator> origin=OBJECT_LITERAL |