FIR: fix type index computation during enhancement
1. in/out type parameters count; 2. star projections take up 1 space in the tree.
This commit is contained in:
@@ -116,9 +116,9 @@ FILE fqName:<root> fileName:/ImplicitReceiverStack.kt
|
||||
public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] T of kotlin.collections.Iterable?>?): kotlin.Unit declared in kotlin.collections.Iterable
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Iterable<T of kotlin.collections.Iterable>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.ImplicitReceiverValue<*>?>?
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<T of kotlin.collections.Iterable>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] <root>.ImplicitReceiverValue<*>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<T of kotlin.collections.Iterable>) returnType:@[EnhancedNullability] java.util.Spliterator<<root>.ImplicitReceiverValue<*>> [fake_override]
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of kotlin.collections.Iterable?> declared in kotlin.collections.Iterable
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<T of kotlin.collections.Iterable> declared in kotlin.collections.Iterable
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Iterable<T of kotlin.collections.Iterable>
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
@@ -176,9 +176,9 @@ FILE fqName:<root> fileName:/ImplicitReceiverStack.kt
|
||||
public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.ImplicitReceiverValue<*>?>?): kotlin.Unit [fake_override] declared in <root>.ImplicitReceiverStack
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Iterable<T of kotlin.collections.Iterable>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.ImplicitReceiverValue<*>?>?
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<T of kotlin.collections.Iterable>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] <root>.ImplicitReceiverValue<*>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<T of kotlin.collections.Iterable>) returnType:@[EnhancedNullability] java.util.Spliterator<<root>.ImplicitReceiverValue<*>> [fake_override]
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] <root>.ImplicitReceiverValue<*>?> [fake_override] declared in <root>.ImplicitReceiverStack
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<<root>.ImplicitReceiverValue<*>> [fake_override] declared in <root>.ImplicitReceiverStack
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Iterable<T of kotlin.collections.Iterable>
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
|
||||
+12
-12
@@ -162,13 +162,13 @@ FILE fqName:<root> fileName:/MultiList.kt
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> [fake_override] declared in kotlin.collections.List
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.MyList>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.MyList>> [fake_override]
|
||||
overridden:
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of kotlin.collections.List?> [fake_override] declared in kotlin.collections.List
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<E of kotlin.collections.List> [fake_override] declared in kotlin.collections.List
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.MyList>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.MyList>> [fake_override]
|
||||
overridden:
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of kotlin.collections.List?> [fake_override] declared in kotlin.collections.List
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<E of kotlin.collections.List> [fake_override] declared in kotlin.collections.List
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<T of kotlin.collections.Iterable>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.Some<T of <root>.MyList>?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
@@ -257,13 +257,13 @@ FILE fqName:<root> fileName:/MultiList.kt
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.SomeList>> [fake_override]
|
||||
overridden:
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.MyList>?> [fake_override] declared in <root>.MyList
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.SomeList>> [fake_override]
|
||||
overridden:
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.MyList>?> [fake_override] declared in <root>.MyList
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
@@ -451,13 +451,13 @@ FILE fqName:<root> fileName:/MultiList.kt
|
||||
overridden:
|
||||
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] declared in <root>.SomeList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<kotlin.String>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<<root>.Some<kotlin.String>> [fake_override]
|
||||
overridden:
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] declared in <root>.SomeList
|
||||
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.SomeList>> [fake_override] declared in <root>.SomeList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<kotlin.String>?> [fake_override]
|
||||
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<E of kotlin.collections.Collection>) returnType:@[EnhancedNullability] java.util.stream.Stream<<root>.Some<kotlin.String>> [fake_override]
|
||||
overridden:
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] <root>.Some<T of <root>.SomeList>?> [fake_override] declared in <root>.SomeList
|
||||
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<<root>.Some<T of <root>.SomeList>> [fake_override] declared in <root>.SomeList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<E of kotlin.collections.Collection>
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.Some<kotlin.String>?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
|
||||
compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.fir.kt.txt
Vendored
+12
-12
@@ -59,30 +59,30 @@ fun test1() {
|
||||
}
|
||||
|
||||
fun test2() {
|
||||
val <destruct>: @FlexibleNullability Q<@EnhancedNullability String, @FlexibleNullability String?>? = notNullComponents()
|
||||
val <destruct>: @FlexibleNullability Q<@EnhancedNullability String, @EnhancedNullability String>? = notNullComponents()
|
||||
val x: String = <destruct>.component1() /*!! String */
|
||||
val y: @FlexibleNullability String? = <destruct>.component2()
|
||||
use(x = x, y = y /*!! @FlexibleNullability String */)
|
||||
val y: String = <destruct>.component2() /*!! String */
|
||||
use(x = x, y = y)
|
||||
}
|
||||
|
||||
fun test2Desugared() {
|
||||
val tmp: @FlexibleNullability Q<@EnhancedNullability String, @FlexibleNullability String?>? = notNullComponents()
|
||||
val tmp: @FlexibleNullability Q<@EnhancedNullability String, @EnhancedNullability String>? = notNullComponents()
|
||||
val x: String = tmp.component1() /*!! String */
|
||||
val y: @FlexibleNullability String? = tmp.component2()
|
||||
use(x = x, y = y /*!! @FlexibleNullability String */)
|
||||
val y: String = tmp.component2() /*!! String */
|
||||
use(x = x, y = y)
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
val <destruct>: Q<@EnhancedNullability String, @FlexibleNullability String?> = notNullQAndComponents() /*!! Q<@EnhancedNullability String, @FlexibleNullability String?> */
|
||||
val <destruct>: Q<@EnhancedNullability String, @EnhancedNullability String> = notNullQAndComponents() /*!! Q<@EnhancedNullability String, @EnhancedNullability String> */
|
||||
val x: String = <destruct>.component1() /*!! String */
|
||||
val y: @FlexibleNullability String? = <destruct>.component2()
|
||||
use(x = x, y = y /*!! @FlexibleNullability String */)
|
||||
val y: String = <destruct>.component2() /*!! String */
|
||||
use(x = x, y = y)
|
||||
}
|
||||
|
||||
fun test4() {
|
||||
val <destruct>: IndexedValue<@FlexibleNullability P?> = listOfNotNull() /*!! @FlexibleNullability List<@FlexibleNullability P?> */.withIndex<@FlexibleNullability P?>().first<IndexedValue<@FlexibleNullability P?>>()
|
||||
val <destruct>: IndexedValue<@EnhancedNullability P> = listOfNotNull() /*!! @FlexibleNullability List<@EnhancedNullability P> */.withIndex<@EnhancedNullability P>().first<IndexedValue<@EnhancedNullability P>>()
|
||||
val x: Int = <destruct>.component1()
|
||||
val y: @FlexibleNullability P? = <destruct>.component2()
|
||||
use(x = x, y = y /*!! @FlexibleNullability P */)
|
||||
val y: P = <destruct>.component2() /*!! P */
|
||||
use(x = x, y = y)
|
||||
}
|
||||
|
||||
|
||||
Vendored
+38
-38
@@ -131,66 +131,66 @@ FILE fqName:<root> fileName:/enhancedNullabilityInDestructuringAssignment.kt
|
||||
y: GET_VAR 'val y: kotlin.Int [val] declared in <root>.test1' type=kotlin.Int origin=null
|
||||
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:x type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? origin=null
|
||||
VAR name:y type:@[FlexibleNullability] kotlin.String? [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
$this: GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? origin=null
|
||||
$this: GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:y type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? origin=null
|
||||
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
x: GET_VAR 'val x: kotlin.String [val] declared in <root>.test2' type=kotlin.String origin=null
|
||||
y: TYPE_OP type=@[FlexibleNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] kotlin.String
|
||||
GET_VAR 'val y: @[FlexibleNullability] kotlin.String? [val] declared in <root>.test2' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
y: GET_VAR 'val y: kotlin.String [val] declared in <root>.test2' type=kotlin.String origin=null
|
||||
FUN name:test2Desugared visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:tmp type:@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? origin=null
|
||||
VAR name:tmp type:@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:x type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? origin=null
|
||||
VAR name:y type:@[FlexibleNullability] kotlin.String? [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
$this: GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>? origin=null
|
||||
$this: GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:y type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>? origin=null
|
||||
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
x: GET_VAR 'val x: kotlin.String [val] declared in <root>.test2Desugared' type=kotlin.String origin=null
|
||||
y: TYPE_OP type=@[FlexibleNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] kotlin.String
|
||||
GET_VAR 'val y: @[FlexibleNullability] kotlin.String? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
y: GET_VAR 'val y: kotlin.String [val] declared in <root>.test2Desugared' type=kotlin.String origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> [val]
|
||||
TYPE_OP type=<root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?>
|
||||
CALL 'public open fun notNullQAndComponents (): @[EnhancedNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> declared in <root>.J' type=@[EnhancedNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> [val]
|
||||
TYPE_OP type=<root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String>
|
||||
CALL 'public open fun notNullQAndComponents (): @[EnhancedNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> declared in <root>.J' type=@[EnhancedNullability] <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> origin=null
|
||||
VAR name:x type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR 'val tmp_2: <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> [val] declared in <root>.test3' type=<root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> origin=null
|
||||
VAR name:y type:@[FlexibleNullability] kotlin.String? [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
$this: GET_VAR 'val tmp_2: <root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> [val] declared in <root>.test3' type=<root>.Q<@[EnhancedNullability] kotlin.String, @[FlexibleNullability] kotlin.String?> origin=null
|
||||
$this: GET_VAR 'val tmp_2: <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> [val] declared in <root>.test3' type=<root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> origin=null
|
||||
VAR name:y type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR 'val tmp_2: <root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> [val] declared in <root>.test3' type=<root>.Q<@[EnhancedNullability] kotlin.String, @[EnhancedNullability] kotlin.String> origin=null
|
||||
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
x: GET_VAR 'val x: kotlin.String [val] declared in <root>.test3' type=kotlin.String origin=null
|
||||
y: TYPE_OP type=@[FlexibleNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] kotlin.String
|
||||
GET_VAR 'val y: @[FlexibleNullability] kotlin.String? [val] declared in <root>.test3' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
y: GET_VAR 'val y: kotlin.String [val] declared in <root>.test3' type=kotlin.String origin=null
|
||||
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?> [val]
|
||||
CALL 'public final fun first <T> (): T of kotlin.collections.CollectionsKt.first declared in kotlin.collections.CollectionsKt' type=kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?> origin=null
|
||||
<T>: kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?>
|
||||
$receiver: CALL 'public final fun withIndex <T> (): kotlin.collections.Iterable<kotlin.collections.IndexedValue<T of kotlin.collections.CollectionsKt.withIndex>> declared in kotlin.collections.CollectionsKt' type=kotlin.collections.Iterable<kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?>> origin=null
|
||||
<T>: @[FlexibleNullability] <root>.P?
|
||||
$receiver: TYPE_OP type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public final fun first <T> (): T of kotlin.collections.CollectionsKt.first declared in kotlin.collections.CollectionsKt' type=kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P> origin=null
|
||||
<T>: kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P>
|
||||
$receiver: CALL 'public final fun withIndex <T> (): kotlin.collections.Iterable<kotlin.collections.IndexedValue<T of kotlin.collections.CollectionsKt.withIndex>> declared in kotlin.collections.CollectionsKt' type=kotlin.collections.Iterable<kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P>> origin=null
|
||||
<T>: @[EnhancedNullability] <root>.P
|
||||
$receiver: TYPE_OP type=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? origin=null
|
||||
VAR name:x type:kotlin.Int [val]
|
||||
CALL 'public final fun component1 (): kotlin.Int [operator] declared in kotlin.collections.IndexedValue' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?> origin=null
|
||||
VAR name:y type:@[FlexibleNullability] <root>.P? [val]
|
||||
CALL 'public final fun component2 (): T of kotlin.collections.IndexedValue [operator] declared in kotlin.collections.IndexedValue' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[FlexibleNullability] <root>.P?> origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P> origin=null
|
||||
VAR name:y type:<root>.P [val]
|
||||
TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
CALL 'public final fun component2 (): T of kotlin.collections.IndexedValue [operator] declared in kotlin.collections.IndexedValue' type=@[EnhancedNullability] <root>.P origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[EnhancedNullability] <root>.P> origin=null
|
||||
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
x: GET_VAR 'val x: kotlin.Int [val] declared in <root>.test4' type=kotlin.Int origin=null
|
||||
y: TYPE_OP type=@[FlexibleNullability] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] <root>.P
|
||||
GET_VAR 'val y: @[FlexibleNullability] <root>.P? [val] declared in <root>.test4' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
y: GET_VAR 'val y: <root>.P [val] declared in <root>.test4' type=<root>.P origin=null
|
||||
|
||||
+10
-10
@@ -3,18 +3,18 @@ fun use(s: P) {
|
||||
|
||||
fun testForInListUnused() {
|
||||
{ // BLOCK
|
||||
val <iterator>: MutableIterator<@FlexibleNullability P?> = listOfNotNull().iterator()
|
||||
val <iterator>: MutableIterator<@EnhancedNullability P> = listOfNotNull().iterator()
|
||||
while (<iterator>.hasNext()) { // BLOCK
|
||||
val x: @FlexibleNullability P? = <iterator>.next()
|
||||
val x: P = <iterator>.next() /*!! P */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testForInListDestructured() {
|
||||
{ // BLOCK
|
||||
val <iterator>: MutableIterator<@FlexibleNullability P?> = listOfNotNull().iterator()
|
||||
val <iterator>: MutableIterator<@EnhancedNullability P> = listOfNotNull().iterator()
|
||||
while (<iterator>.hasNext()) { // BLOCK
|
||||
val <destruct>: @FlexibleNullability P? = <iterator>.next()
|
||||
val <destruct>: P = <iterator>.next() /*!! P */
|
||||
{ // BLOCK
|
||||
val x: Int = <destruct>.component1()
|
||||
val y: Int = <destruct>.component2()
|
||||
@@ -24,9 +24,9 @@ fun testForInListDestructured() {
|
||||
}
|
||||
|
||||
fun testDesugaredForInList() {
|
||||
val iterator: MutableIterator<@FlexibleNullability P?> = listOfNotNull().iterator()
|
||||
val iterator: MutableIterator<@EnhancedNullability P> = listOfNotNull().iterator()
|
||||
while (iterator.hasNext()) { // BLOCK
|
||||
val x: @FlexibleNullability P? = iterator.next()
|
||||
val x: P = iterator.next() /*!! P */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,11 +41,11 @@ fun testForInArrayUnused(j: J) {
|
||||
|
||||
fun testForInListUse() {
|
||||
{ // BLOCK
|
||||
val <iterator>: MutableIterator<@FlexibleNullability P?> = listOfNotNull().iterator()
|
||||
val <iterator>: MutableIterator<@EnhancedNullability P> = listOfNotNull().iterator()
|
||||
while (<iterator>.hasNext()) { // BLOCK
|
||||
val x: @FlexibleNullability P? = <iterator>.next()
|
||||
val x: P = <iterator>.next() /*!! P */
|
||||
{ // BLOCK
|
||||
use(s = x /*!! @FlexibleNullability P */)
|
||||
use(s = x)
|
||||
use(s = x)
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,7 @@ fun testForInArrayUse(j: J) {
|
||||
}
|
||||
|
||||
interface K {
|
||||
abstract fun arrayOfNotNull(): Array<P>
|
||||
abstract fun arrayOfNotNull(): Array<P>
|
||||
|
||||
}
|
||||
|
||||
|
||||
+36
-33
@@ -5,48 +5,51 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
||||
FUN name:testForInListUnused visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? origin=null
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? origin=null
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[FlexibleNullability] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[FlexibleNullability] <root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:x type:<root>.P [val]
|
||||
TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[EnhancedNullability] <root>.P origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
FUN name:testForInListDestructured visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? origin=null
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? origin=null
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:<destruct> type:@[FlexibleNullability] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[FlexibleNullability] <root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:<destruct> type:<root>.P [val]
|
||||
TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[EnhancedNullability] <root>.P origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR name:x type:kotlin.Int [val]
|
||||
CALL 'public final fun component1 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val <destruct>: @[FlexibleNullability] <root>.P? [val] declared in <root>.testForInListDestructured' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
$this: GET_VAR 'val <destruct>: <root>.P [val] declared in <root>.testForInListDestructured' type=<root>.P origin=null
|
||||
VAR name:y type:kotlin.Int [val]
|
||||
CALL 'public final fun component2 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val <destruct>: @[FlexibleNullability] <root>.P? [val] declared in <root>.testForInListDestructured' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
$this: GET_VAR 'val <destruct>: <root>.P [val] declared in <root>.testForInListDestructured' type=<root>.P origin=null
|
||||
FUN name:testDesugaredForInList visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:iterator type:kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? origin=null
|
||||
VAR name:iterator type:kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=null
|
||||
VAR name:x type:@[FlexibleNullability] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
VAR name:x type:<root>.P [val]
|
||||
TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[EnhancedNullability] <root>.P origin=null
|
||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
FUN name:testForInArrayUnused visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||
BLOCK_BODY
|
||||
@@ -65,22 +68,22 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
||||
FUN name:testForInListUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] <root>.P?>? origin=null
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [fake_override,operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[EnhancedNullability] <root>.P>? origin=null
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[FlexibleNullability] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[FlexibleNullability] <root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[FlexibleNullability] <root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:x type:<root>.P [val]
|
||||
TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[EnhancedNullability] <root>.P origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
s: TYPE_OP type=@[FlexibleNullability] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleNullability] <root>.P
|
||||
GET_VAR 'val x: @[FlexibleNullability] <root>.P? [val] declared in <root>.testForInListUse' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
s: GET_VAR 'val x: <root>.P [val] declared in <root>.testForInListUse' type=<root>.P origin=null
|
||||
CALL 'public open fun use (s: @[EnhancedNullability] <root>.P): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: GET_VAR 'val x: @[FlexibleNullability] <root>.P? [val] declared in <root>.testForInListUse' type=@[FlexibleNullability] <root>.P? origin=null
|
||||
s: GET_VAR 'val x: <root>.P [val] declared in <root>.testForInListUse' type=<root>.P origin=null
|
||||
FUN name:testForInArrayUse visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||
BLOCK_BODY
|
||||
|
||||
Reference in New Issue
Block a user