JVM IR: support mutability-flexible types

This commit is contained in:
Alexander Udalov
2021-06-02 20:02:07 +02:00
parent 0cb905a4b1
commit 7306256127
21 changed files with 149 additions and 87 deletions
@@ -1,7 +1,6 @@
// !API_VERSION: LATEST
// !USE_EXPERIMENTAL: kotlin.ExperimentalStdlibApi
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// WITH_REFLECT
// FILE: box.kt
+1 -1
View File
@@ -63,7 +63,7 @@ FILE fqName:<root> fileName:/AllCandidates.kt
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>?) returnType:kotlin.Unit
$receiver: VALUE_PARAMETER name:$this$apply type:@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>?
BLOCK_BODY
CALL 'public open fun setAllCandidates (allCandidates: @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] <root>.ResolvedCall<@[FlexibleNullability] D of <root>.OverloadResolutionResultsImpl?>?>?): kotlin.Unit declared in <root>.OverloadResolutionResultsImpl' type=kotlin.Unit origin=EQ
CALL 'public open fun setAllCandidates (allCandidates: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] <root>.ResolvedCall<@[FlexibleNullability] D of <root>.OverloadResolutionResultsImpl?>?>?): kotlin.Unit declared in <root>.OverloadResolutionResultsImpl' type=kotlin.Unit origin=EQ
<1>: @[FlexibleNullability] A of <root>.allCandidatesResult?
$this: TYPE_OP type=<root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?> origin=IMPLICIT_NOTNULL typeOperand=<root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>
GET_VAR '$this$apply: @[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>? declared in <root>.allCandidatesResult.<anonymous>' type=@[FlexibleNullability] <root>.OverloadResolutionResultsImpl<@[FlexibleNullability] A of <root>.allCandidatesResult?>? origin=null
@@ -2,7 +2,7 @@ FILE fqName:<root> fileName:/SyntheticSetterType.kt
FUN name:foo visibility:public modality:FINAL <> (descriptor:<root>.PropertyDescriptorImpl) returnType:kotlin.Unit
VALUE_PARAMETER name:descriptor index:0 type:<root>.PropertyDescriptorImpl
BLOCK_BODY
CALL 'public open fun setOverriddenDescriptors (overriddenDescriptors: @[EnhancedNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] <root>.CallableMemberDescriptor?>): kotlin.Unit declared in <root>.PropertyDescriptorImpl' type=kotlin.Unit origin=EQ
CALL 'public open fun setOverriddenDescriptors (overriddenDescriptors: @[EnhancedNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] <root>.CallableMemberDescriptor?>): kotlin.Unit declared in <root>.PropertyDescriptorImpl' type=kotlin.Unit origin=EQ
$this: GET_VAR 'descriptor: <root>.PropertyDescriptorImpl declared in <root>.foo' type=<root>.PropertyDescriptorImpl origin=null
overriddenDescriptors: CALL 'public final fun emptyList <T> (): kotlin.collections.List<T of kotlin.collections.CollectionsKt.emptyList> declared in kotlin.collections.CollectionsKt' type=kotlin.collections.List<@[FlexibleNullability] <root>.PropertyDescriptor?> origin=null
<T>: @[FlexibleNullability] <root>.PropertyDescriptor?
@@ -1,5 +1,5 @@
fun <T : Any?> problematic(lss: List<List<T>>): List<T> {
return lss.flatMap<List<T>, @FlexibleNullability T?>(transform = local fun <anonymous>(it: List<T>): @EnhancedNullability MutableList<@FlexibleNullability T?> {
return lss.flatMap<List<T>, @FlexibleNullability T?>(transform = local fun <anonymous>(it: List<T>): @EnhancedNullability @FlexibleMutability MutableList<@FlexibleNullability T?> {
return id<@FlexibleNullability T?>(v = it) /*!! List<@FlexibleNullability T?> */
}
)
@@ -8,12 +8,12 @@ FILE fqName:<root> fileName:/typeParametersInImplicitCast.kt
<T>: kotlin.collections.List<T of <root>.problematic>
<R>: @[FlexibleNullability] T of <root>.problematic?
$receiver: GET_VAR 'lss: kotlin.collections.List<kotlin.collections.List<T of <root>.problematic>> declared in <root>.problematic' type=kotlin.collections.List<kotlin.collections.List<T of <root>.problematic>> origin=null
transform: FUN_EXPR type=kotlin.Function1<kotlin.collections.List<T of <root>.problematic>, @[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?>> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (it:kotlin.collections.List<T of <root>.problematic>) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?>
transform: FUN_EXPR type=kotlin.Function1<kotlin.collections.List<T of <root>.problematic>, @[EnhancedNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?>> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (it:kotlin.collections.List<T of <root>.problematic>) returnType:@[EnhancedNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?>
VALUE_PARAMETER name:it index:0 type:kotlin.collections.List<T of <root>.problematic>
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.collections.List<T of <root>.problematic>): @[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?> declared in <root>.problematic'
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.collections.List<T of <root>.problematic>): @[EnhancedNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?> declared in <root>.problematic'
TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] T of <root>.problematic?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] T of <root>.problematic?>
CALL 'public/*package*/ open fun id <T> (v: @[FlexibleNullability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.ListId.id?>?): @[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.ListId.id?> declared in <root>.ListId' type=@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?> origin=null
CALL 'public/*package*/ open fun id <T> (v: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.ListId.id?>?): @[EnhancedNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.ListId.id?> declared in <root>.ListId' type=@[EnhancedNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of <root>.problematic?> origin=null
<T>: @[FlexibleNullability] T of <root>.problematic?
v: GET_VAR 'it: kotlin.collections.List<T of <root>.problematic> declared in <root>.problematic.<anonymous>' type=kotlin.collections.List<T of <root>.problematic> origin=null
+1 -1
View File
@@ -18,7 +18,7 @@ FILE fqName:<root> fileName:/builtinMap.kt
if: CONST Boolean type=kotlin.Boolean value=true
then: CALL 'public final fun apply <T> (block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.StandardKt.apply, kotlin.Unit>): T of kotlin.StandardKt.apply [inline] declared in kotlin.StandardKt' type=java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?>{ kotlin.collections.TypeAliasesKt.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?> } origin=null
<T>: java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?>{ kotlin.collections.TypeAliasesKt.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?> }
$receiver: CONSTRUCTOR_CALL 'public constructor <init> (p0: @[FlexibleNullability] kotlin.collections.MutableMap<out @[FlexibleNullability] K of java.util.LinkedHashMap?, out @[FlexibleNullability] V of java.util.LinkedHashMap?>?) declared in java.util.LinkedHashMap' type=java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?> origin=null
$receiver: CONSTRUCTOR_CALL 'public constructor <init> (p0: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap<out @[FlexibleNullability] K of java.util.LinkedHashMap?, out @[FlexibleNullability] V of java.util.LinkedHashMap?>?) declared in java.util.LinkedHashMap' type=java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?> origin=null
<class: K>: @[FlexibleNullability] K1 of <root>.plus?
<class: V>: @[FlexibleNullability] V1 of <root>.plus?
p0: GET_VAR '<this>: kotlin.collections.Map<out K1 of <root>.plus, V1 of <root>.plus> declared in <root>.plus' type=kotlin.collections.Map<out K1 of <root>.plus, V1 of <root>.plus> origin=null
+4 -4
View File
@@ -14,19 +14,19 @@ class C : J, K {
}
private /* final field */ val $$delegate_0: J = j
override fun jf1(): @FlexibleNullability MutableCollection<out @FlexibleNullability CharSequence?>? {
override fun jf1(): @FlexibleNullability @FlexibleMutability MutableCollection<out @FlexibleNullability CharSequence?>? {
return <this>.#$$delegate_0.jf1()
}
override fun jf2(): @FlexibleNullability MutableCollection<@FlexibleNullability CharSequence?>? {
override fun jf2(): @FlexibleNullability @FlexibleMutability MutableCollection<@FlexibleNullability CharSequence?>? {
return <this>.#$$delegate_0.jf2()
}
override fun jg1(c: @FlexibleNullability MutableCollection<out @FlexibleNullability CharSequence?>?) {
override fun jg1(c: @FlexibleNullability @FlexibleMutability MutableCollection<out @FlexibleNullability CharSequence?>?) {
<this>.#$$delegate_0.jg1(c = c)
}
override fun jg2(c: @FlexibleNullability MutableCollection<@FlexibleNullability CharSequence?>?) {
override fun jg2(c: @FlexibleNullability @FlexibleMutability MutableCollection<@FlexibleNullability CharSequence?>?) {
<this>.#$$delegate_0.jg2(c = c)
}
+18 -18
View File
@@ -35,44 +35,44 @@ FILE fqName:<root> fileName:/javaWildcardType.kt
FIELD DELEGATE name:$$delegate_0 type:<root>.J visibility:private [final]
EXPRESSION_BODY
GET_VAR 'j: <root>.J declared in <root>.C.<init>' type=<root>.J origin=null
FUN DELEGATED_MEMBER name:jf1 visibility:public modality:OPEN <> ($this:<root>.C) returnType:@[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?
FUN DELEGATED_MEMBER name:jf1 visibility:public modality:OPEN <> ($this:<root>.C) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?
overridden:
public abstract fun jf1 (): @[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J
public abstract fun jf1 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun jf1 (): @[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C'
CALL 'public abstract fun jf1 (): @[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? origin=null
RETURN type=kotlin.Nothing from='public open fun jf1 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C'
CALL 'public abstract fun jf1 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.jf1' type=<root>.C origin=null
FUN DELEGATED_MEMBER name:jf2 visibility:public modality:OPEN <> ($this:<root>.C) returnType:@[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?
FUN DELEGATED_MEMBER name:jf2 visibility:public modality:OPEN <> ($this:<root>.C) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?
overridden:
public abstract fun jf2 (): @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J
public abstract fun jf2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun jf2 (): @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C'
CALL 'public abstract fun jf2 (): @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? origin=null
RETURN type=kotlin.Nothing from='public open fun jf2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C'
CALL 'public abstract fun jf2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.jf2' type=<root>.C origin=null
FUN DELEGATED_MEMBER name:jg1 visibility:public modality:OPEN <> ($this:<root>.C, c:@[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?) returnType:kotlin.Unit
FUN DELEGATED_MEMBER name:jg1 visibility:public modality:OPEN <> ($this:<root>.C, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?) returnType:kotlin.Unit
overridden:
public abstract fun jg1 (c: @[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J
public abstract fun jg1 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.C
VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?
VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?
BLOCK_BODY
CALL 'public abstract fun jg1 (c: @[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
CALL 'public abstract fun jg1 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.jg1' type=<root>.C origin=null
c: GET_VAR 'c: @[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C.jg1' type=@[FlexibleNullability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? origin=null
FUN DELEGATED_MEMBER name:jg2 visibility:public modality:OPEN <> ($this:<root>.C, c:@[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?) returnType:kotlin.Unit
c: GET_VAR 'c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C.jg1' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<out @[FlexibleNullability] kotlin.CharSequence?>? origin=null
FUN DELEGATED_MEMBER name:jg2 visibility:public modality:OPEN <> ($this:<root>.C, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?) returnType:kotlin.Unit
overridden:
public abstract fun jg2 (c: @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J
public abstract fun jg2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.C
VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?
VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?
BLOCK_BODY
CALL 'public abstract fun jg2 (c: @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
CALL 'public abstract fun jg2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.jg2' type=<root>.C origin=null
c: GET_VAR 'c: @[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C.jg2' type=@[FlexibleNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? origin=null
c: GET_VAR 'c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? declared in <root>.C.jg2' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.CharSequence?>? origin=null
FIELD DELEGATE name:$$delegate_1 type:<root>.K visibility:private [final]
EXPRESSION_BODY
GET_VAR 'k: <root>.K declared in <root>.C.<init>' type=<root>.K origin=null
@@ -193,7 +193,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInDestructuringAssignment.kt
$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<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>> origin=null
<T>: @[NotNull(value = <null>)] @[EnhancedNullability] <root>.P
$receiver: TYPE_OP type=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[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=COMPONENT_N(index=1)
$this: GET_VAR 'val tmp_3: kotlin.collections.IndexedValue<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
@@ -9,7 +9,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
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<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
$this: TYPE_OP type=kotlin.collections.MutableList<*> origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList<*>
TYPE_OP type=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
WHILE label=null origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.MutableIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
@@ -25,7 +25,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
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<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
$this: TYPE_OP type=kotlin.collections.MutableList<*> origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList<*>
TYPE_OP type=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
WHILE label=null origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.MutableIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
@@ -48,7 +48,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
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<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
$this: TYPE_OP type=kotlin.collections.MutableList<*> origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList<*>
TYPE_OP type=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
WHILE label=null origin=WHILE_LOOP
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.MutableIterator' type=kotlin.Boolean origin=null
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
@@ -82,7 +82,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
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<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
$this: TYPE_OP type=kotlin.collections.MutableList<*> origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList<*>
TYPE_OP type=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? origin=null
WHILE label=null origin=FOR_LOOP_INNER_WHILE
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.MutableIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
$this: GET_VAR 'val tmp_4: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
@@ -57,7 +57,7 @@ class KRaw : JRaw {
return <this>.#$$delegate_0.returnsRawGenericOut()
}
override fun returnsRawList(): @FlexibleNullability @RawType MutableList<Any?>? {
override fun returnsRawList(): @FlexibleNullability @FlexibleMutability @RawType MutableList<Any?>? {
return <this>.#$$delegate_0.returnsRawList()
}
@@ -73,7 +73,7 @@ class KRaw : JRaw {
<this>.#$$delegate_0.takesRawGenericOut(g = g)
}
override fun takesRawList(list: @FlexibleNullability @RawType MutableList<Any?>?) {
override fun takesRawList(list: @FlexibleNullability @FlexibleMutability @RawType MutableList<Any?>?) {
<this>.#$$delegate_0.takesRawList(list = list)
}
+9 -9
View File
@@ -114,13 +114,13 @@ FILE fqName:<root> fileName:/rawTypeInSignature.kt
CALL 'public abstract fun returnsRawGenericOut (): @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericOut' type=<root>.KRaw origin=null
FUN DELEGATED_MEMBER name:returnsRawList visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?
FUN DELEGATED_MEMBER name:returnsRawList visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?
overridden:
public abstract fun returnsRawList (): @[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.JRaw
public abstract fun returnsRawList (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.JRaw
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun returnsRawList (): @[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.KRaw'
CALL 'public abstract fun returnsRawList (): @[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? origin=null
RETURN type=kotlin.Nothing from='public open fun returnsRawList (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.KRaw'
CALL 'public abstract fun returnsRawList (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.JRaw' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawList' type=<root>.KRaw origin=null
FUN DELEGATED_MEMBER name:takesRawGenericIn visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?) returnType:kotlin.Unit
@@ -153,16 +153,16 @@ FILE fqName:<root> fileName:/rawTypeInSignature.kt
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericOut' type=<root>.KRaw origin=null
g: GET_VAR 'g: @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.KRaw.takesRawGenericOut' type=@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? origin=null
FUN DELEGATED_MEMBER name:takesRawList visibility:public modality:OPEN <> ($this:<root>.KRaw, list:@[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?) returnType:kotlin.Unit
FUN DELEGATED_MEMBER name:takesRawList visibility:public modality:OPEN <> ($this:<root>.KRaw, list:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?) returnType:kotlin.Unit
overridden:
public abstract fun takesRawList (list: @[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw
public abstract fun takesRawList (list: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
VALUE_PARAMETER name:list index:0 type:@[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?
VALUE_PARAMETER name:list index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?
BLOCK_BODY
CALL 'public abstract fun takesRawList (list: @[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
CALL 'public abstract fun takesRawList (list: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawList' type=<root>.KRaw origin=null
list: GET_VAR 'list: @[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.KRaw.takesRawList' type=@[FlexibleNullability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? origin=null
list: GET_VAR 'list: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? declared in <root>.KRaw.takesRawList' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList<kotlin.Any?>? origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.JRaw