EnhancedNullability annotation in IR
Fixes KT-40115 & KT-40117. Move FlexibleNullability annotation to 'kotlin.internal.ir'.
This commit is contained in:
+5
@@ -96,6 +96,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
|
||||
runTest("compiler/testData/ir/irText/classes/delegatedImplementation.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("delegatedImplementationOfJavaInterface.kt")
|
||||
public void testDelegatedImplementationOfJavaInterface() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("delegatedImplementationWithExplicitOverride.kt")
|
||||
public void testDelegatedImplementationWithExplicitOverride() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.kt");
|
||||
|
||||
+28
-6
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.backend.jvm
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
|
||||
import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.codegen.SamType
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.FilteredAnnotations
|
||||
@@ -19,6 +18,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
|
||||
import org.jetbrains.kotlin.ir.util.constructors
|
||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
||||
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.load.java.descriptors.getParentJavaStaticClassScope
|
||||
import org.jetbrains.kotlin.load.java.sam.JavaSingleAbstractMethodUtils
|
||||
import org.jetbrains.kotlin.load.java.typeEnhancement.hasEnhancedNullability
|
||||
import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
|
||||
@@ -105,24 +106,45 @@ class JvmGeneratorExtensions(private val generateFacades: Boolean = true) : Gene
|
||||
override fun getParentClassStaticScope(descriptor: ClassDescriptor): MemberScope? =
|
||||
descriptor.getParentJavaStaticClassScope()
|
||||
|
||||
private val annotationPackage =
|
||||
IrExternalPackageFragmentImpl(DescriptorlessExternalPackageFragmentSymbol(), StandardNames.ANNOTATION_PACKAGE_FQ_NAME)
|
||||
private val kotlinIrInternalPackage =
|
||||
IrExternalPackageFragmentImpl(DescriptorlessExternalPackageFragmentSymbol(), IrBuiltIns.KOTLIN_INTERNAL_IR_FQN)
|
||||
|
||||
private val kotlinJvmInternalPackage =
|
||||
IrExternalPackageFragmentImpl(DescriptorlessExternalPackageFragmentSymbol(), JvmAnnotationNames.KOTLIN_JVM_INTERNAL)
|
||||
|
||||
private val flexibleNullabilityAnnotationClass = IrFactoryImpl.buildClass {
|
||||
kind = ClassKind.ANNOTATION_CLASS
|
||||
name = FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME.shortName()
|
||||
}.apply {
|
||||
createImplicitParameterDeclarationWithWrappedDescriptor()
|
||||
parent = annotationPackage
|
||||
parent = kotlinIrInternalPackage
|
||||
addConstructor {
|
||||
isPrimary = true
|
||||
}
|
||||
}
|
||||
|
||||
override val flexibleNullabilityAnnotationConstructor: IrConstructor? = flexibleNullabilityAnnotationClass.constructors.single()
|
||||
private val enhancedNullabilityAnnotationClass = IrFactoryImpl.buildClass {
|
||||
kind = ClassKind.ANNOTATION_CLASS
|
||||
name = ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME.shortName()
|
||||
}.apply {
|
||||
createImplicitParameterDeclarationWithWrappedDescriptor()
|
||||
parent = kotlinJvmInternalPackage
|
||||
addConstructor {
|
||||
isPrimary = true
|
||||
}
|
||||
}
|
||||
|
||||
override val flexibleNullabilityAnnotationConstructor: IrConstructor? =
|
||||
flexibleNullabilityAnnotationClass.constructors.single()
|
||||
|
||||
override val enhancedNullabilityAnnotationConstructor: IrConstructor? =
|
||||
enhancedNullabilityAnnotationClass.constructors.single()
|
||||
|
||||
companion object {
|
||||
val FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME =
|
||||
StandardNames.ANNOTATION_PACKAGE_FQ_NAME.child(Name.identifier("FlexibleNullability"))
|
||||
IrBuiltIns.KOTLIN_INTERNAL_IR_FQN.child(Name.identifier("FlexibleNullability"))
|
||||
|
||||
val ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME: FqName =
|
||||
JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION
|
||||
}
|
||||
}
|
||||
|
||||
+8
-2
@@ -186,7 +186,7 @@ abstract class AnnotationCodegen(
|
||||
if (retentionPolicy == RetentionPolicy.SOURCE) return null
|
||||
|
||||
// FlexibleNullability is an internal annotation, used only inside the compiler
|
||||
if (annotationClass.fqNameWhenAvailable == JvmGeneratorExtensions.FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME) return null
|
||||
if (annotationClass.fqNameWhenAvailable in internalAnnotations) return null
|
||||
|
||||
// We do not generate annotations whose classes are optional (annotated with `@OptionalExpectation`) because if an annotation entry
|
||||
// is resolved to the expected declaration, this means that annotation has no actual class, and thus should not be generated.
|
||||
@@ -296,9 +296,15 @@ abstract class AnnotationCodegen(
|
||||
KotlinRetention.RUNTIME to RetentionPolicy.RUNTIME
|
||||
)
|
||||
|
||||
internal val internalAnnotations = setOf(
|
||||
JvmGeneratorExtensions.FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME,
|
||||
JvmGeneratorExtensions.ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME
|
||||
)
|
||||
|
||||
private fun getRetentionPolicy(irClass: IrClass): RetentionPolicy {
|
||||
val retention = irClass.getAnnotationRetention()
|
||||
if (retention != null) {
|
||||
@Suppress("MapGetWithNotNullAssertionOperator")
|
||||
return annotationRetentionMap[retention]!!
|
||||
}
|
||||
irClass.getAnnotation(FqName(java.lang.annotation.Retention::class.java.name))?.let { retentionAnnotation ->
|
||||
@@ -374,7 +380,7 @@ private val RETENTION_PARAMETER_NAME = Name.identifier("value")
|
||||
private fun IrClass.getAnnotationRetention(): KotlinRetention? {
|
||||
val retentionArgument =
|
||||
getAnnotation(StandardNames.FqNames.retention)?.getValueArgument(RETENTION_PARAMETER_NAME)
|
||||
as? IrGetEnumValue?: return null
|
||||
as? IrGetEnumValue ?: return null
|
||||
val retentionArgumentValue = retentionArgument.symbol.owner
|
||||
return KotlinRetention.valueOf(retentionArgumentValue.name.asString())
|
||||
}
|
||||
|
||||
@@ -35,6 +35,9 @@ open class StubGeneratorExtensions {
|
||||
open val flexibleNullabilityAnnotationConstructor: IrConstructor?
|
||||
get() = null
|
||||
|
||||
open val enhancedNullabilityAnnotationConstructor: IrConstructor?
|
||||
get() = null
|
||||
|
||||
companion object {
|
||||
@JvmField
|
||||
val EMPTY = StubGeneratorExtensions()
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.declarations.IrTypeParametersContainer
|
||||
@@ -87,9 +86,9 @@ class TypeTranslator(
|
||||
|
||||
when {
|
||||
flexibleApproximatedType.isError ->
|
||||
return IrErrorTypeImpl(flexibleApproximatedType, translateTypeAnnotations(flexibleApproximatedType.annotations), variance)
|
||||
return IrErrorTypeImpl(flexibleApproximatedType, translateTypeAnnotations(flexibleApproximatedType), variance)
|
||||
flexibleApproximatedType.isDynamic() ->
|
||||
return IrDynamicTypeImpl(flexibleApproximatedType, translateTypeAnnotations(flexibleApproximatedType.annotations), variance)
|
||||
return IrDynamicTypeImpl(flexibleApproximatedType, translateTypeAnnotations(flexibleApproximatedType), variance)
|
||||
}
|
||||
|
||||
val approximatedType = flexibleApproximatedType.upperIfFlexible()
|
||||
@@ -111,19 +110,19 @@ class TypeTranslator(
|
||||
|
||||
return IrSimpleTypeBuilder().apply {
|
||||
this.kotlinType = flexibleApproximatedType
|
||||
this.hasQuestionMark = approximatedType.isMarkedNullable || extensions.enhancedNullability.hasEnhancedNullability(approximatedType)
|
||||
this.hasQuestionMark = approximatedType.isMarkedNullable
|
||||
this.variance = variance
|
||||
this.abbreviation = approximatedType.getAbbreviation()?.toIrTypeAbbreviation()
|
||||
when (ktTypeDescriptor) {
|
||||
is TypeParameterDescriptor -> {
|
||||
classifier = resolveTypeParameter(ktTypeDescriptor)
|
||||
annotations = translateTypeAnnotations(approximatedType.annotations)
|
||||
annotations = translateTypeAnnotations(approximatedType)
|
||||
}
|
||||
|
||||
is ClassDescriptor -> {
|
||||
classifier = symbolTable.referenceClass(ktTypeDescriptor)
|
||||
arguments = translateTypeArguments(approximatedType.arguments)
|
||||
annotations = translateTypeAnnotations(approximatedType.annotations)
|
||||
annotations = translateTypeAnnotations(approximatedType)
|
||||
}
|
||||
|
||||
else ->
|
||||
@@ -155,7 +154,7 @@ class TypeTranslator(
|
||||
symbolTable.referenceTypeAlias(typeAliasDescriptor),
|
||||
isMarkedNullable,
|
||||
translateTypeArguments(this.arguments),
|
||||
translateTypeAnnotations(this.annotations)
|
||||
translateTypeAnnotations(this)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -195,8 +194,26 @@ class TypeTranslator(
|
||||
approximateCapturedTypes(ktType).upper
|
||||
}
|
||||
|
||||
private fun translateTypeAnnotations(annotations: Annotations): List<IrConstructorCall> =
|
||||
annotations.mapNotNull(constantValueGenerator::generateAnnotationConstructorCall)
|
||||
private fun translateTypeAnnotations(kotlinType: KotlinType): List<IrConstructorCall> {
|
||||
val annotations = kotlinType.annotations
|
||||
val irAnnotations = ArrayList<IrConstructorCall>()
|
||||
annotations.mapNotNullTo(irAnnotations) {
|
||||
constantValueGenerator.generateAnnotationConstructorCall(it)
|
||||
}
|
||||
// EnhancedNullability annotation is not present in 'annotations', see 'EnhancedTypeAnnotations::iterator()'.
|
||||
if (extensions.enhancedNullability.hasEnhancedNullability(kotlinType)) {
|
||||
extensions.enhancedNullabilityAnnotationConstructor?.let { irConstructor ->
|
||||
irAnnotations.add(
|
||||
IrConstructorCallImpl.fromSymbolOwner(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
|
||||
irConstructor.constructedClassType,
|
||||
irConstructor.symbol
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
return irAnnotations
|
||||
}
|
||||
|
||||
private fun translateTypeArguments(arguments: List<TypeProjection>) =
|
||||
arguments.map {
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// FILE: nullabilityAnnotationsForReturnType.kt
|
||||
|
||||
fun testNotNull(): String = ""
|
||||
fun testNullable(): String? = ""
|
||||
fun testJavaNotNull() = J.returnsNotNull()
|
||||
fun testJavaNullable() = J.returnsNullable()
|
||||
fun testJavaFlexible() = J.returnsFlexible()
|
||||
|
||||
// FILE: J.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class J {
|
||||
public static @NotNull String returnsNotNull() { return ""; }
|
||||
public static @Nullable String returnsNullable() { return ""; }
|
||||
public static String returnsFlexible() { return ""; }
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
@kotlin.Metadata
|
||||
public final class NullabilityAnnotationsForReturnTypeKt {
|
||||
// source: 'nullabilityAnnotationsForReturnType.kt'
|
||||
public final static method testJavaFlexible(): java.lang.String
|
||||
public final static @org.jetbrains.annotations.NotNull method testJavaNotNull(): java.lang.String
|
||||
public final static @org.jetbrains.annotations.Nullable method testJavaNullable(): java.lang.String
|
||||
public final static @org.jetbrains.annotations.NotNull method testNotNull(): java.lang.String
|
||||
public final static @org.jetbrains.annotations.Nullable method testNullable(): java.lang.String
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// FILE: nullabilityAnnotationsOnDelegatedMembers.kt
|
||||
class JImpl(j: J) : J by j
|
||||
|
||||
// FILE: J.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface J {
|
||||
void takeNotNull(@NotNull String x);
|
||||
void takeNullable(@Nullable String x);
|
||||
void takeFlexible(String x);
|
||||
@NotNull String returnNotNull();
|
||||
@Nullable String returnNullable();
|
||||
String returnsFlexible();
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
@kotlin.Metadata
|
||||
public final class JImpl {
|
||||
// source: 'nullabilityAnnotationsOnDelegatedMembers.kt'
|
||||
private synthetic final field $$delegate_0: J
|
||||
public method <init>(@org.jetbrains.annotations.NotNull p0: J): void
|
||||
public @org.jetbrains.annotations.NotNull method returnNotNull(): java.lang.String
|
||||
public @org.jetbrains.annotations.Nullable method returnNullable(): java.lang.String
|
||||
public method returnsFlexible(): java.lang.String
|
||||
public method takeFlexible(p0: java.lang.String): void
|
||||
public method takeNotNull(@org.jetbrains.annotations.NotNull p0: java.lang.String): void
|
||||
public method takeNullable(@org.jetbrains.annotations.Nullable p0: java.lang.String): void
|
||||
}
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
|
||||
CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[<root>.J]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test
|
||||
CONSTRUCTOR visibility:public <> (j:<root>.J) returnType:<root>.Test [primary]
|
||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[<root>.J]'
|
||||
SET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=kotlin.Unit origin=EQ
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test' type=<root>.Test origin=null
|
||||
value: GET_VAR 'j: <root>.J declared in <root>.Test.<init>' type=<root>.J origin=null
|
||||
PROPERTY name:j visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'j: <root>.J declared in <root>.Test.<init>' type=<root>.J origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-j> visibility:private modality:FINAL <> ($this:<root>.Test) returnType:<root>.J
|
||||
correspondingProperty: PROPERTY name:j visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-j> (): <root>.J declared in <root>.Test'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-j>' type=<root>.Test origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]
|
||||
FUN FAKE_OVERRIDE name:takeNotNull visibility:public modality:OPEN <> ($this:<root>.J, x:kotlin.String) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public abstract fun takeNotNull (x: kotlin.String): kotlin.Unit declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
FUN FAKE_OVERRIDE name:takeNullable visibility:public modality:OPEN <> ($this:<root>.J, x:kotlin.String?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String?
|
||||
FUN FAKE_OVERRIDE name:takeFlexible visibility:public modality:OPEN <> ($this:<root>.J, x:kotlin.String?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public abstract fun takeFlexible (x: kotlin.String?): kotlin.Unit declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String?
|
||||
FUN FAKE_OVERRIDE name:returnNotNull visibility:public modality:OPEN <> ($this:<root>.J) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public abstract fun returnNotNull (): kotlin.String declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
FUN FAKE_OVERRIDE name:returnNullable visibility:public modality:OPEN <> ($this:<root>.J) returnType:kotlin.String? [fake_override]
|
||||
overridden:
|
||||
public abstract fun returnNullable (): kotlin.String? declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
FUN FAKE_OVERRIDE name:returnsFlexible visibility:public modality:OPEN <> ($this:<root>.J) returnType:kotlin.String? [fake_override]
|
||||
overridden:
|
||||
public abstract fun returnsFlexible (): kotlin.String? declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
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 [operator] declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// FILE: delegatedImplementationOfJavaInterface.kt
|
||||
|
||||
class Test(private val j: J) : J by j
|
||||
|
||||
// FILE: J.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface J {
|
||||
void takeNotNull(@NotNull String x);
|
||||
void takeNullable(@Nullable String x);
|
||||
void takeFlexible(String x);
|
||||
@NotNull String returnNotNull();
|
||||
@Nullable String returnNullable();
|
||||
String returnsFlexible();
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
|
||||
CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[<root>.J]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test
|
||||
CONSTRUCTOR visibility:public <> (j:<root>.J) returnType:<root>.Test [primary]
|
||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[<root>.J]'
|
||||
PROPERTY name:j visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'j: <root>.J declared in <root>.Test.<init>' type=<root>.J origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-j> visibility:private modality:FINAL <> ($this:<root>.Test) returnType:<root>.J
|
||||
correspondingProperty: PROPERTY name:j visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-j> (): <root>.J declared in <root>.Test'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-j>' type=<root>.Test origin=null
|
||||
FUN DELEGATED_MEMBER name:returnNotNull visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[EnhancedNullability] kotlin.String
|
||||
annotations:
|
||||
NotNull(value = <null>)
|
||||
overridden:
|
||||
public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.Test'
|
||||
CALL 'public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNotNull' type=<root>.Test origin=null
|
||||
FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[EnhancedNullability] kotlin.String?
|
||||
annotations:
|
||||
Nullable(value = <null>)
|
||||
overridden:
|
||||
public abstract fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in <root>.Test'
|
||||
CALL 'public abstract fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in <root>.J' type=@[EnhancedNullability] kotlin.String? origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNullable' type=<root>.Test origin=null
|
||||
FUN DELEGATED_MEMBER name:returnsFlexible visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[FlexibleNullability] kotlin.String?
|
||||
overridden:
|
||||
public abstract fun returnsFlexible (): @[FlexibleNullability] kotlin.String? declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun returnsFlexible (): @[FlexibleNullability] kotlin.String? declared in <root>.Test'
|
||||
CALL 'public abstract fun returnsFlexible (): @[FlexibleNullability] kotlin.String? declared in <root>.J' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnsFlexible' type=<root>.Test origin=null
|
||||
FUN DELEGATED_MEMBER name:takeFlexible visibility:public modality:OPEN <> ($this:<root>.Test, x:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun takeFlexible (x: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
VALUE_PARAMETER name:x index:0 type:@[FlexibleNullability] kotlin.String?
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun takeFlexible (x: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeFlexible' type=<root>.Test origin=null
|
||||
x: GET_VAR 'x: @[FlexibleNullability] kotlin.String? declared in <root>.Test.takeFlexible' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
FUN DELEGATED_MEMBER name:takeNotNull visibility:public modality:OPEN <> ($this:<root>.Test, x:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun takeNotNull (x: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
VALUE_PARAMETER name:x index:0 type:@[EnhancedNullability] kotlin.String
|
||||
annotations:
|
||||
NotNull(value = <null>)
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun takeNotNull (x: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNotNull' type=<root>.Test origin=null
|
||||
x: GET_VAR 'x: @[EnhancedNullability] kotlin.String declared in <root>.Test.takeNotNull' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:<root>.Test, x:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun takeNullable (x: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||
VALUE_PARAMETER name:x index:0 type:@[EnhancedNullability] kotlin.String?
|
||||
annotations:
|
||||
Nullable(value = <null>)
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun takeNullable (x: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNullable' type=<root>.Test origin=null
|
||||
x: GET_VAR 'x: @[EnhancedNullability] kotlin.String? declared in <root>.Test.takeNullable' type=@[EnhancedNullability] kotlin.String? 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>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int [fake_override] declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String [fake_override] declared in <root>.J
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
+6
-6
@@ -27,9 +27,9 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.JFoo
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.JFoo) returnType:kotlin.String? [fake_override]
|
||||
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.JFoo) returnType:@[EnhancedNullability] kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun foo (): kotlin.String? declared in <root>.JFoo
|
||||
public open fun foo (): @[EnhancedNullability] kotlin.String declared in <root>.JFoo
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.JFoo
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
@@ -47,12 +47,12 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K2 modality:FINAL visibility:public superTypes:[<root>.JFoo]'
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.K2) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun foo (): kotlin.String? declared in <root>.JFoo
|
||||
public open fun foo (): @[EnhancedNullability] kotlin.String declared in <root>.JFoo
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.K2
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in <root>.K2'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun foo (): kotlin.String? declared in <root>.JFoo' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JFoo modality:OPEN visibility:public superTypes:[<root>.IFoo]' type=kotlin.String? origin=null
|
||||
CALL 'public open fun foo (): @[EnhancedNullability] kotlin.String declared in <root>.JFoo' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JFoo modality:OPEN visibility:public superTypes:[<root>.IFoo]' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_VAR '<this>: <root>.K2 declared in <root>.K2.foo' type=<root>.K2 origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
@@ -141,7 +141,7 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in <root>.TestJFoo'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun foo (): kotlin.String? declared in <root>.JFoo' type=kotlin.String? origin=null
|
||||
CALL 'public open fun foo (): @[EnhancedNullability] kotlin.String declared in <root>.JFoo' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JFoo visibility:private [final]' type=<root>.JFoo origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestJFoo declared in <root>.TestJFoo.foo' type=<root>.TestJFoo origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
@@ -173,7 +173,7 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in <root>.TestK1'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun foo (): kotlin.String? [fake_override] declared in <root>.K1' type=kotlin.String? origin=null
|
||||
CALL 'public open fun foo (): @[EnhancedNullability] kotlin.String [fake_override] declared in <root>.K1' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.K1 visibility:private [final]' type=<root>.K1 origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestK1 declared in <root>.TestK1.foo' type=<root>.TestK1 origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
|
||||
+12
-12
@@ -45,13 +45,13 @@ FILE fqName:<root> fileName:/nullCheckOnGenericLambdaReturn.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.String declared in <root>'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun checkT <T> (fn: kotlin.Function0<T of <root>.checkT>): T of <root>.checkT declared in <root>' type=kotlin.String? origin=null
|
||||
<T>: kotlin.String?
|
||||
fn: FUN_EXPR type=kotlin.Function0<kotlin.String?> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String?
|
||||
CALL 'public final fun checkT <T> (fn: kotlin.Function0<T of <root>.checkT>): T of <root>.checkT declared in <root>' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
<T>: @[EnhancedNullability] kotlin.String
|
||||
fn: FUN_EXPR type=kotlin.Function0<@[EnhancedNullability] kotlin.String> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.test2'
|
||||
CALL 'public open fun nnFoo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): @[EnhancedNullability] kotlin.String declared in <root>.test2'
|
||||
CALL 'public open fun nnFoo (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.String?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3 (): @[FlexibleNullability] kotlin.String? declared in <root>'
|
||||
@@ -66,10 +66,10 @@ FILE fqName:<root> fileName:/nullCheckOnGenericLambdaReturn.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4 (): kotlin.String declared in <root>'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public final fun checkTAny <T> (fn: kotlin.Function0<T of <root>.checkTAny>): T of <root>.checkTAny declared in <root>' type=kotlin.String? origin=null
|
||||
<T>: kotlin.String?
|
||||
fn: FUN_EXPR type=kotlin.Function0<kotlin.String?> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String?
|
||||
CALL 'public final fun checkTAny <T> (fn: kotlin.Function0<T of <root>.checkTAny>): T of <root>.checkTAny declared in <root>' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
<T>: @[EnhancedNullability] kotlin.String
|
||||
fn: FUN_EXPR type=kotlin.Function0<@[EnhancedNullability] kotlin.String> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.test4'
|
||||
CALL 'public open fun nnFoo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): @[EnhancedNullability] kotlin.String declared in <root>.test4'
|
||||
CALL 'public open fun nnFoo (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
|
||||
@@ -87,4 +87,4 @@ FILE fqName:<root> fileName:/nullCheckOnLambdaReturn.kt
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Any?
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Any? declared in <root>.test6'
|
||||
CALL 'public open fun nnFoo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun nnFoo (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ FILE fqName:<root> fileName:/putIfAbsent.kt
|
||||
<K>: T of <root>.Owner.foo
|
||||
<V>: T of <root>.Owner.foo
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun putIfAbsent (p0: K of kotlin.collections.MutableMap?, p1: V of kotlin.collections.MutableMap?): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=T of <root>.Owner.foo? origin=null
|
||||
CALL 'public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=@[EnhancedNullability] T of <root>.Owner.foo? origin=null
|
||||
$this: GET_VAR 'val map: kotlin.collections.MutableMap<T of <root>.Owner.foo, T of <root>.Owner.foo> [val] declared in <root>.Owner.foo' type=kotlin.collections.MutableMap<T of <root>.Owner.foo, T of <root>.Owner.foo> origin=null
|
||||
p0: GET_VAR 'x: T of <root>.Owner.foo declared in <root>.Owner.foo' type=T of <root>.Owner.foo origin=null
|
||||
p1: GET_VAR 'y: T of <root>.Owner.foo declared in <root>.Owner.foo' type=T of <root>.Owner.foo origin=null
|
||||
|
||||
@@ -8,12 +8,12 @@ FILE fqName:<root> fileName:/typeParametersInImplicitCast.kt
|
||||
<T>: kotlin.collections.List<T of <root>.problematic>
|
||||
<R>: 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>, kotlin.collections.List<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:kotlin.collections.List<T of <root>.problematic?>?
|
||||
transform: FUN_EXPR type=kotlin.Function1<kotlin.collections.List<T of <root>.problematic>, @[EnhancedNullability] kotlin.collections.List<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.List<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>): kotlin.collections.List<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] kotlin.collections.List<T of <root>.problematic?> declared in <root>.problematic'
|
||||
TYPE_OP type=kotlin.collections.List<T of <root>.problematic?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<T of <root>.problematic?>
|
||||
CALL 'public/*package*/ open fun id <T> (v: @[FlexibleNullability] kotlin.collections.List<T of <root>.ListId.id?>?): kotlin.collections.List<T of <root>.ListId.id?>? declared in <root>.ListId' type=kotlin.collections.List<T of <root>.problematic?>? origin=null
|
||||
CALL 'public/*package*/ open fun id <T> (v: @[FlexibleNullability] kotlin.collections.List<T of <root>.ListId.id?>?): @[EnhancedNullability] kotlin.collections.List<T of <root>.ListId.id?> declared in <root>.ListId' type=@[EnhancedNullability] kotlin.collections.List<T of <root>.problematic?> origin=null
|
||||
<T>: 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
@@ -27,7 +27,7 @@ FILE fqName:<root> fileName:/builtinMap.kt
|
||||
$receiver: VALUE_PARAMETER name:<this> type:java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?>{ kotlin.collections.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> }
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun put (key: K of java.util.LinkedHashMap?, value: V of java.util.LinkedHashMap?): V of java.util.LinkedHashMap? [fake_override] declared in java.util.LinkedHashMap' type=V1 of <root>.plus? origin=null
|
||||
CALL 'public open fun put (key: @[EnhancedNullability] K of java.util.LinkedHashMap, value: @[EnhancedNullability] V of java.util.LinkedHashMap): @[EnhancedNullability] V of java.util.LinkedHashMap? [fake_override] declared in java.util.LinkedHashMap' type=@[EnhancedNullability] V1 of <root>.plus? origin=null
|
||||
$this: GET_VAR '<this>: java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?>{ kotlin.collections.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> } declared in <root>.plus.<anonymous>' type=java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?>{ kotlin.collections.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> } origin=null
|
||||
key: CALL 'public final fun <get-first> (): A of kotlin.Pair declared in kotlin.Pair' type=K1 of <root>.plus origin=GET_PROPERTY
|
||||
$this: GET_VAR 'pair: kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> declared in <root>.plus' type=kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> origin=null
|
||||
|
||||
@@ -6,22 +6,22 @@ FILE fqName:<root> fileName:/enhancedNullability.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun use (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
s: TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:testLocalVal visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:local type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:testReturnValue visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testReturnValue (): kotlin.String declared in <root>'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
PROPERTY name:testGlobalVal visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:testGlobalVal type:kotlin.String visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testGlobalVal> visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:testGlobalVal visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
@@ -33,21 +33,21 @@ FILE fqName:<root> fileName:/enhancedNullability.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-testGlobalValGetter> (): kotlin.String declared in <root>'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:testJUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun use (s: kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
CALL 'public open fun use (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: CALL 'public open fun nullString (): @[FlexibleNullability] kotlin.String? declared in <root>.J' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
CALL 'public open fun use (s: kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun use (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:testLocalVarUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:ns type:@[FlexibleNullability] kotlin.String? [val]
|
||||
CALL 'public open fun nullString (): @[FlexibleNullability] kotlin.String? declared in <root>.J' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
CALL 'public open fun use (s: kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
CALL 'public open fun use (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: GET_VAR 'val ns: @[FlexibleNullability] kotlin.String? [val] declared in <root>.testLocalVarUse' type=@[FlexibleNullability] kotlin.String? origin=null
|
||||
VAR name:nns type:kotlin.String [val]
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
CALL 'public open fun notNullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
CALL 'public open fun use (s: kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
CALL 'public open fun notNullString (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||
CALL 'public open fun use (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: GET_VAR 'val nns: kotlin.String [val] declared in <root>.testLocalVarUse' type=kotlin.String origin=null
|
||||
|
||||
Vendored
+48
-48
@@ -118,89 +118,89 @@ FILE fqName:<root> fileName:/enhancedNullabilityInDestructuringAssignment.kt
|
||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.P? [val]
|
||||
CALL 'public open fun notNullP (): <root>.P? declared in <root>.J' type=<root>.P? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:@[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public open fun notNullP (): @[EnhancedNullability] <root>.P declared in <root>.J' type=@[EnhancedNullability] <root>.P 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=COMPONENT_N(index=1)
|
||||
$this: TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
GET_VAR 'val tmp_0: <root>.P? [val] declared in <root>.test1' type=<root>.P? origin=null
|
||||
GET_VAR 'val tmp_0: @[EnhancedNullability] <root>.P [val] declared in <root>.test1' type=@[EnhancedNullability] <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=COMPONENT_N(index=2)
|
||||
$this: TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
GET_VAR 'val tmp_0: <root>.P? [val] declared in <root>.test1' type=<root>.P? origin=null
|
||||
GET_VAR 'val tmp_0: @[EnhancedNullability] <root>.P [val] declared in <root>.test1' type=@[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>.test1' type=kotlin.Int origin=null
|
||||
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
|
||||
COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR name:x type:@[NotNull(value = <null>)] kotlin.String? [val]
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] kotlin.String? origin=COMPONENT_N(index=1)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>
|
||||
GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR name:y type:@[NotNull(value = <null>)] kotlin.String? [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] kotlin.String? origin=COMPONENT_N(index=2)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>
|
||||
GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:x type:@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val]
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=COMPONENT_N(index=1)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>
|
||||
GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:y type:@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=COMPONENT_N(index=2)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>
|
||||
GET_VAR 'val tmp_1: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[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: TYPE_OP type=@[NotNull(value = <null>)] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] kotlin.String
|
||||
GET_VAR 'val x: @[NotNull(value = <null>)] kotlin.String? [val] declared in <root>.test2' type=@[NotNull(value = <null>)] kotlin.String? origin=null
|
||||
GET_VAR 'val x: @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val] declared in <root>.test2' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=null
|
||||
y: TYPE_OP type=@[NotNull(value = <null>)] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] kotlin.String
|
||||
GET_VAR 'val y: @[NotNull(value = <null>)] kotlin.String? [val] declared in <root>.test2' type=@[NotNull(value = <null>)] kotlin.String? origin=null
|
||||
GET_VAR 'val y: @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val] declared in <root>.test2' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:test2Desugared visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:tmp type:@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR name:tmp type:@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? [val]
|
||||
CALL 'public open fun notNullComponents (): @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? declared in <root>.J' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:x type:@[NotNull(value = <null>)] kotlin.String [val]
|
||||
TYPE_OP type=@[NotNull(value = <null>)] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] kotlin.String
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] kotlin.String? origin=null
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>
|
||||
GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=null
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>
|
||||
GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? origin=null
|
||||
VAR name:y type:@[NotNull(value = <null>)] kotlin.String [val]
|
||||
TYPE_OP type=@[NotNull(value = <null>)] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] kotlin.String
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] kotlin.String? origin=null
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>
|
||||
GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=null
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>
|
||||
GET_VAR 'val tmp: @[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>? [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[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: @[NotNull(value = <null>)] kotlin.String [val] declared in <root>.test2Desugared' type=@[NotNull(value = <null>)] kotlin.String origin=null
|
||||
y: GET_VAR 'val y: @[NotNull(value = <null>)] kotlin.String [val] declared in <root>.test2Desugared' type=@[NotNull(value = <null>)] kotlin.String origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val]
|
||||
CALL 'public open fun notNullQAndComponents (): <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? declared in <root>.J' type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR name:x type:@[NotNull(value = <null>)] kotlin.String? [val]
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] kotlin.String? origin=COMPONENT_N(index=1)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>
|
||||
GET_VAR 'val tmp_2: <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val] declared in <root>.test3' type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR name:y type:@[NotNull(value = <null>)] kotlin.String? [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] kotlin.String? origin=COMPONENT_N(index=2)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>
|
||||
GET_VAR 'val tmp_2: <root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? [val] declared in <root>.test3' type=<root>.Q<@[NotNull(value = <null>)] kotlin.String?, @[NotNull(value = <null>)] kotlin.String?>? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:@[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> [val]
|
||||
CALL 'public open fun notNullQAndComponents (): @[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> declared in <root>.J' type=@[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=null
|
||||
VAR name:x type:@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val]
|
||||
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=COMPONENT_N(index=1)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>
|
||||
GET_VAR 'val tmp_2: @[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> [val] declared in <root>.test3' type=@[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=null
|
||||
VAR name:y type:@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val]
|
||||
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=COMPONENT_N(index=2)
|
||||
$this: TYPE_OP type=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String>
|
||||
GET_VAR 'val tmp_2: @[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String> [val] declared in <root>.test3' type=@[EnhancedNullability] <root>.Q<@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String, @[NotNull(value = <null>)] @[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: TYPE_OP type=@[NotNull(value = <null>)] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] kotlin.String
|
||||
GET_VAR 'val x: @[NotNull(value = <null>)] kotlin.String? [val] declared in <root>.test3' type=@[NotNull(value = <null>)] kotlin.String? origin=null
|
||||
GET_VAR 'val x: @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val] declared in <root>.test3' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=null
|
||||
y: TYPE_OP type=@[NotNull(value = <null>)] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] kotlin.String
|
||||
GET_VAR 'val y: @[NotNull(value = <null>)] kotlin.String? [val] declared in <root>.test3' type=@[NotNull(value = <null>)] kotlin.String? origin=null
|
||||
GET_VAR 'val y: @[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String [val] declared in <root>.test3' type=@[NotNull(value = <null>)] @[EnhancedNullability] kotlin.String origin=null
|
||||
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
COMPOSITE type=kotlin.Unit origin=DESTRUCTURING_DECLARATION
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?> [val]
|
||||
CALL 'public final fun first <T> (): T of kotlin.collections.first declared in kotlin.collections' type=kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
<T>: kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?>
|
||||
$receiver: CALL 'public final fun withIndex <T> (): kotlin.collections.Iterable<kotlin.collections.IndexedValue<T of kotlin.collections.withIndex>> declared in kotlin.collections' type=kotlin.collections.Iterable<kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?>> origin=null
|
||||
<T>: @[NotNull(value = <null>)] <root>.P?
|
||||
$receiver: TYPE_OP type=kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.collections.IndexedValue<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public final fun first <T> (): T of kotlin.collections.first declared in kotlin.collections' type=kotlin.collections.IndexedValue<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P> origin=null
|
||||
<T>: kotlin.collections.IndexedValue<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>
|
||||
$receiver: CALL 'public final fun withIndex <T> (): kotlin.collections.Iterable<kotlin.collections.IndexedValue<T of kotlin.collections.withIndex>> declared in kotlin.collections' 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.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[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>)] <root>.P?> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
VAR name:y type:@[NotNull(value = <null>)] <root>.P? [val]
|
||||
CALL 'public final fun component2 (): T of kotlin.collections.IndexedValue [operator] declared in kotlin.collections.IndexedValue' type=@[NotNull(value = <null>)] <root>.P? origin=COMPONENT_N(index=2)
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?> [val] declared in <root>.test4' type=kotlin.collections.IndexedValue<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
$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
|
||||
VAR name:y type:@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public final fun component2 (): T of kotlin.collections.IndexedValue [operator] declared in kotlin.collections.IndexedValue' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P origin=COMPONENT_N(index=2)
|
||||
$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
|
||||
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=@[NotNull(value = <null>)] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] <root>.P
|
||||
GET_VAR 'val y: @[NotNull(value = <null>)] <root>.P? [val] declared in <root>.test4' type=@[NotNull(value = <null>)] <root>.P? origin=null
|
||||
GET_VAR 'val y: @[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val] declared in <root>.test4' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P origin=null
|
||||
|
||||
+57
-57
@@ -5,120 +5,120 @@ 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<@[NotNull(value = <null>)] <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<@[NotNull(value = <null>)] <root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[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<@[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>)] <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? origin=null
|
||||
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.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[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>)] <root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
$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
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[NotNull(value = <null>)] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] <root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P origin=FOR_LOOP_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
|
||||
BLOCK type=kotlin.Unit 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<@[NotNull(value = <null>)] <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<@[NotNull(value = <null>)] <root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[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<@[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>)] <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? origin=null
|
||||
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.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[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>)] <root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
$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
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:@[NotNull(value = <null>)] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] <root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P origin=FOR_LOOP_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
|
||||
VAR name:x type:kotlin.Int [val]
|
||||
CALL 'public final fun component1 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=COMPONENT_N(index=1)
|
||||
$this: TYPE_OP type=@[NotNull(value = <null>)] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] <root>.P
|
||||
GET_VAR 'val tmp_2: @[NotNull(value = <null>)] <root>.P? [val] declared in <root>.testForInListDestructured' type=@[NotNull(value = <null>)] <root>.P? origin=null
|
||||
GET_VAR 'val tmp_2: @[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val] declared in <root>.testForInListDestructured' type=@[NotNull(value = <null>)] @[EnhancedNullability] <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=COMPONENT_N(index=2)
|
||||
$this: TYPE_OP type=@[NotNull(value = <null>)] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] <root>.P
|
||||
GET_VAR 'val tmp_2: @[NotNull(value = <null>)] <root>.P? [val] declared in <root>.testForInListDestructured' type=@[NotNull(value = <null>)] <root>.P? origin=null
|
||||
GET_VAR 'val tmp_2: @[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val] declared in <root>.testForInListDestructured' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
FUN name:testDesugaredForInList visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:iterator type:kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <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<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
VAR name:iterator type:kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[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<@[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>)] <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? origin=null
|
||||
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.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[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>)] <root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> 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
|
||||
body: BLOCK type=kotlin.Unit origin=null
|
||||
VAR name:x type:@[NotNull(value = <null>)] <root>.P [val]
|
||||
TYPE_OP type=@[NotNull(value = <null>)] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] <root>.P
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] <root>.P? origin=null
|
||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P 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
|
||||
FUN name:testForInArrayUnused visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.Iterator<<root>.P?> [val]
|
||||
CALL 'public final fun iterator (): kotlin.collections.Iterator<T of kotlin.Array> [operator] declared in kotlin.Array' type=kotlin.collections.Iterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
$this: TYPE_OP type=kotlin.Array<<root>.P?> origin=IMPLICIT_CAST typeOperand=kotlin.Array<<root>.P?>
|
||||
TYPE_OP type=kotlin.Array<out <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array<out <root>.P?>
|
||||
CALL 'public open fun arrayOfNotNull (): kotlin.Array<out <root>.P?>? declared in <root>.J' type=kotlin.Array<out <root>.P?>? origin=null
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public final fun iterator (): kotlin.collections.Iterator<T of kotlin.Array> [operator] declared in kotlin.Array' type=kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
|
||||
$this: TYPE_OP type=kotlin.Array<@[EnhancedNullability] <root>.P> origin=IMPLICIT_CAST typeOperand=kotlin.Array<@[EnhancedNullability] <root>.P>
|
||||
TYPE_OP type=kotlin.Array<out @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array<out @[EnhancedNullability] <root>.P>
|
||||
CALL 'public open fun arrayOfNotNull (): @[EnhancedNullability] kotlin.Array<out @[EnhancedNullability] <root>.P> declared in <root>.J' type=@[EnhancedNullability] kotlin.Array<out @[EnhancedNullability] <root>.P> origin=null
|
||||
$this: GET_VAR 'j: <root>.J declared in <root>.testForInArrayUnused' type=<root>.J 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.Iterator<<root>.P?> [val] declared in <root>.testForInArrayUnused' type=kotlin.collections.Iterator<<root>.P?> origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInArrayUnused' type=kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:x type:<root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.Iterator<<root>.P?> [val] declared in <root>.testForInArrayUnused' type=kotlin.collections.Iterator<<root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator' type=@[EnhancedNullability] <root>.P origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInArrayUnused' type=kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
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_4 type:kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <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<@[NotNull(value = <null>)] <root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_4 type:kotlin.collections.MutableIterator<@[NotNull(value = <null>)] @[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<@[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>)] <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>
|
||||
CALL 'public open fun listOfNotNull (): @[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[NotNull(value = <null>)] <root>.P?>? origin=null
|
||||
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.List<@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P>? declared in <root>.J' type=@[FlexibleNullability] kotlin.collections.List<@[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>)] <root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
$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
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[NotNull(value = <null>)] <root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] <root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_4: kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<@[NotNull(value = <null>)] <root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [fake_override,operator] declared in kotlin.collections.MutableIterator' type=@[NotNull(value = <null>)] @[EnhancedNullability] <root>.P origin=FOR_LOOP_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
|
||||
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=@[NotNull(value = <null>)] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[NotNull(value = <null>)] <root>.P
|
||||
GET_VAR 'val x: @[NotNull(value = <null>)] <root>.P? [val] declared in <root>.testForInListUse' type=@[NotNull(value = <null>)] <root>.P? origin=null
|
||||
CALL 'public open fun use (s: <root>.P?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: GET_VAR 'val x: @[NotNull(value = <null>)] <root>.P? [val] declared in <root>.testForInListUse' type=@[NotNull(value = <null>)] <root>.P? origin=null
|
||||
GET_VAR 'val x: @[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val] declared in <root>.testForInListUse' type=@[NotNull(value = <null>)] @[EnhancedNullability] <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: @[NotNull(value = <null>)] @[EnhancedNullability] <root>.P [val] declared in <root>.testForInListUse' type=@[NotNull(value = <null>)] @[EnhancedNullability] <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
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_5 type:kotlin.collections.Iterator<<root>.P?> [val]
|
||||
CALL 'public final fun iterator (): kotlin.collections.Iterator<T of kotlin.Array> [operator] declared in kotlin.Array' type=kotlin.collections.Iterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
||||
$this: TYPE_OP type=kotlin.Array<<root>.P?> origin=IMPLICIT_CAST typeOperand=kotlin.Array<<root>.P?>
|
||||
TYPE_OP type=kotlin.Array<out <root>.P?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array<out <root>.P?>
|
||||
CALL 'public open fun arrayOfNotNull (): kotlin.Array<out <root>.P?>? declared in <root>.J' type=kotlin.Array<out <root>.P?>? origin=null
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_5 type:kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> [val]
|
||||
CALL 'public final fun iterator (): kotlin.collections.Iterator<T of kotlin.Array> [operator] declared in kotlin.Array' type=kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> origin=FOR_LOOP_ITERATOR
|
||||
$this: TYPE_OP type=kotlin.Array<@[EnhancedNullability] <root>.P> origin=IMPLICIT_CAST typeOperand=kotlin.Array<@[EnhancedNullability] <root>.P>
|
||||
TYPE_OP type=kotlin.Array<out @[EnhancedNullability] <root>.P> origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array<out @[EnhancedNullability] <root>.P>
|
||||
CALL 'public open fun arrayOfNotNull (): @[EnhancedNullability] kotlin.Array<out @[EnhancedNullability] <root>.P> declared in <root>.J' type=@[EnhancedNullability] kotlin.Array<out @[EnhancedNullability] <root>.P> origin=null
|
||||
$this: GET_VAR 'j: <root>.J declared in <root>.testForInArrayUse' type=<root>.J 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_5: kotlin.collections.Iterator<<root>.P?> [val] declared in <root>.testForInArrayUse' type=kotlin.collections.Iterator<<root>.P?> origin=null
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInArrayUse' type=kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:x type:<root>.P? [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.Iterator<<root>.P?> [val] declared in <root>.testForInArrayUse' type=kotlin.collections.Iterator<<root>.P?> origin=null
|
||||
VAR FOR_LOOP_VARIABLE name:x type:@[EnhancedNullability] <root>.P [val]
|
||||
CALL 'public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator' type=@[EnhancedNullability] <root>.P origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.Iterator<@[EnhancedNullability] <root>.P> [val] declared in <root>.testForInArrayUse' type=kotlin.collections.Iterator<@[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=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
||||
GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInArrayUse' type=<root>.P? origin=null
|
||||
CALL 'public open fun use (s: <root>.P?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInArrayUse' type=<root>.P? origin=null
|
||||
GET_VAR 'val x: @[EnhancedNullability] <root>.P [val] declared in <root>.testForInArrayUse' type=@[EnhancedNullability] <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: @[EnhancedNullability] <root>.P [val] declared in <root>.testForInArrayUse' type=@[EnhancedNullability] <root>.P origin=null
|
||||
CLASS INTERFACE name:K modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.K
|
||||
FUN name:arrayOfNotNull visibility:public modality:ABSTRACT <> ($this:<root>.K) returnType:kotlin.Array<<root>.P>
|
||||
|
||||
+33
-10
@@ -94,11 +94,6 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/jvmStaticWithDefaultParameters.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("lateInitNotNull.kt")
|
||||
public void testLateInitNotNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/lateInitNotNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("localFunctionInInitBlock.kt")
|
||||
public void testLocalFunctionInInitBlock() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/localFunctionInInitBlock.kt");
|
||||
@@ -139,11 +134,6 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/noToArrayInJava.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("platformTypes.kt")
|
||||
public void testPlatformTypes() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/platformTypes.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("privateDefaultImpls.kt")
|
||||
public void testPrivateDefaultImpls() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/privateDefaultImpls.kt");
|
||||
@@ -669,6 +659,39 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest {
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class NullabilityAnnotations extends AbstractBytecodeListingTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInNullabilityAnnotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@TestMetadata("lateInitNotNull.kt")
|
||||
public void testLateInitNotNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/lateInitNotNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nullabilityAnnotationsForReturnType.kt")
|
||||
public void testNullabilityAnnotationsForReturnType() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsForReturnType.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nullabilityAnnotationsOnDelegatedMembers.kt")
|
||||
public void testNullabilityAnnotationsOnDelegatedMembers() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsOnDelegatedMembers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("platformTypes.kt")
|
||||
public void testPlatformTypes() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/platformTypes.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/bytecodeListing/specialBridges")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
+33
-10
@@ -94,11 +94,6 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes
|
||||
runTest("compiler/testData/codegen/bytecodeListing/jvmStaticWithDefaultParameters.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("lateInitNotNull.kt")
|
||||
public void testLateInitNotNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/lateInitNotNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("localFunctionInInitBlock.kt")
|
||||
public void testLocalFunctionInInitBlock() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/localFunctionInInitBlock.kt");
|
||||
@@ -139,11 +134,6 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes
|
||||
runTest("compiler/testData/codegen/bytecodeListing/noToArrayInJava.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("platformTypes.kt")
|
||||
public void testPlatformTypes() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/platformTypes.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("privateDefaultImpls.kt")
|
||||
public void testPrivateDefaultImpls() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/privateDefaultImpls.kt");
|
||||
@@ -639,6 +629,39 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class NullabilityAnnotations extends AbstractIrBytecodeListingTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInNullabilityAnnotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@TestMetadata("lateInitNotNull.kt")
|
||||
public void testLateInitNotNull() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/lateInitNotNull.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nullabilityAnnotationsForReturnType.kt")
|
||||
public void testNullabilityAnnotationsForReturnType() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsForReturnType.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nullabilityAnnotationsOnDelegatedMembers.kt")
|
||||
public void testNullabilityAnnotationsOnDelegatedMembers() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsOnDelegatedMembers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("platformTypes.kt")
|
||||
public void testPlatformTypes() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/platformTypes.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/bytecodeListing/specialBridges")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
@@ -95,6 +95,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
||||
runTest("compiler/testData/ir/irText/classes/delegatedImplementation.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("delegatedImplementationOfJavaInterface.kt")
|
||||
public void testDelegatedImplementationOfJavaInterface() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("delegatedImplementationWithExplicitOverride.kt")
|
||||
public void testDelegatedImplementationWithExplicitOverride() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.kt");
|
||||
|
||||
@@ -54,6 +54,8 @@ public final class JvmAnnotationNames {
|
||||
|
||||
public static final FqName PURELY_IMPLEMENTS_ANNOTATION = new FqName("kotlin.jvm.PurelyImplements");
|
||||
|
||||
public static final FqName KOTLIN_JVM_INTERNAL = new FqName("kotlin.jvm.internal");
|
||||
|
||||
// Just for internal use: there is no such real classes in bytecode
|
||||
public static final FqName ENHANCED_NULLABILITY_ANNOTATION = new FqName("kotlin.jvm.internal.EnhancedNullability");
|
||||
public static final FqName ENHANCED_MUTABILITY_ANNOTATION = new FqName("kotlin.jvm.internal.EnhancedMutability");
|
||||
|
||||
Reference in New Issue
Block a user