[FIR2IR] Preserve 'EnhancedNullability' type annotation in IR
This commit is contained in:
@@ -5,27 +5,56 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.backend
|
package org.jetbrains.kotlin.fir.backend
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.types.CompilerConeAttributes
|
import org.jetbrains.kotlin.fir.types.CompilerConeAttributes
|
||||||
|
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
|
||||||
|
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
|
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.defaultType
|
import org.jetbrains.kotlin.ir.types.defaultType
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
||||||
|
|
||||||
class Fir2IrBuiltIns(
|
class Fir2IrBuiltIns(private val components: Fir2IrComponents) : Fir2IrComponents by components {
|
||||||
private val components: Fir2IrComponents,
|
|
||||||
session: FirSession
|
|
||||||
) : Fir2IrComponents by components {
|
|
||||||
private val extensionFunctionTypeAnnotationSymbol by lazy {
|
private val extensionFunctionTypeAnnotationSymbol by lazy {
|
||||||
session.firSymbolProvider.getClassLikeSymbolByFqName(CompilerConeAttributes.ExtensionFunctionType.ANNOTATION_CLASS_ID)!!
|
annotationSymbolById(CompilerConeAttributes.ExtensionFunctionType.ANNOTATION_CLASS_ID)
|
||||||
.toSymbol(session, classifierStorage, ConversionTypeContext.DEFAULT) as IrClassSymbol
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun extensionFunctionTypeAnnotationConstructorCall() =
|
internal fun extensionFunctionTypeAnnotationConstructorCall() =
|
||||||
IrConstructorCallImpl.fromSymbolOwner(
|
extensionFunctionTypeAnnotationSymbol.toConstructorCall()
|
||||||
extensionFunctionTypeAnnotationSymbol.defaultType,
|
|
||||||
extensionFunctionTypeAnnotationSymbol.owner.declarations.firstIsInstance<IrConstructor>().symbol
|
private val kotlinJvmInternalPackage =
|
||||||
|
IrExternalPackageFragmentImpl(
|
||||||
|
DescriptorlessExternalPackageFragmentSymbol(),
|
||||||
|
CompilerConeAttributes.EnhancedNullability.ANNOTATION_CLASS_ID.packageFqName
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private val enhancedNullabilityAnnotationSymbol by lazy {
|
||||||
|
irFactory.buildClass {
|
||||||
|
kind = ClassKind.ANNOTATION_CLASS
|
||||||
|
name = CompilerConeAttributes.EnhancedNullability.ANNOTATION_CLASS_ID.shortClassName
|
||||||
|
}.apply {
|
||||||
|
createImplicitParameterDeclarationWithWrappedDescriptor()
|
||||||
|
this.parent = kotlinJvmInternalPackage
|
||||||
|
addConstructor {
|
||||||
|
isPrimary = true
|
||||||
|
}
|
||||||
|
}.symbol
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun enhancedNullabilityAnnotationConstructorCall() =
|
||||||
|
enhancedNullabilityAnnotationSymbol.toConstructorCall()
|
||||||
|
|
||||||
|
private fun annotationSymbolById(id: ClassId): IrClassSymbol =
|
||||||
|
session.firSymbolProvider.getClassLikeSymbolByFqName(id)!!.toSymbol(
|
||||||
|
session, classifierStorage, ConversionTypeContext.DEFAULT
|
||||||
|
) as IrClassSymbol
|
||||||
|
|
||||||
|
private fun IrClassSymbol.toConstructorCall(): IrConstructorCallImpl =
|
||||||
|
IrConstructorCallImpl.fromSymbolOwner(defaultType, owner.declarations.firstIsInstance<IrConstructor>().symbol)
|
||||||
}
|
}
|
||||||
@@ -274,7 +274,7 @@ class Fir2IrConverter(
|
|||||||
val fir2irVisitor = Fir2IrVisitor(converter, components, conversionScope)
|
val fir2irVisitor = Fir2IrVisitor(converter, components, conversionScope)
|
||||||
val declarationStorage = Fir2IrDeclarationStorage(components, fir2irVisitor, moduleDescriptor)
|
val declarationStorage = Fir2IrDeclarationStorage(components, fir2irVisitor, moduleDescriptor)
|
||||||
val typeConverter = Fir2IrTypeConverter(components)
|
val typeConverter = Fir2IrTypeConverter(components)
|
||||||
val builtIns = Fir2IrBuiltIns(components, session)
|
val builtIns = Fir2IrBuiltIns(components)
|
||||||
components.declarationStorage = declarationStorage
|
components.declarationStorage = declarationStorage
|
||||||
components.classifierStorage = classifierStorage
|
components.classifierStorage = classifierStorage
|
||||||
components.typeConverter = typeConverter
|
components.typeConverter = typeConverter
|
||||||
|
|||||||
@@ -89,8 +89,10 @@ class Fir2IrTypeConverter(
|
|||||||
val typeAnnotations: MutableList<IrConstructorCall> =
|
val typeAnnotations: MutableList<IrConstructorCall> =
|
||||||
if (!isExtensionFunctionType) mutableListOf()
|
if (!isExtensionFunctionType) mutableListOf()
|
||||||
else mutableListOf(builtIns.extensionFunctionTypeAnnotationConstructorCall())
|
else mutableListOf(builtIns.extensionFunctionTypeAnnotationConstructorCall())
|
||||||
// TODO: Need to convert @EnhancedNullability ?
|
|
||||||
typeAnnotations += with(annotationGenerator) { annotations.toIrAnnotations() }
|
typeAnnotations += with(annotationGenerator) { annotations.toIrAnnotations() }
|
||||||
|
if (hasEnhancedNullability) {
|
||||||
|
typeAnnotations += builtIns.enhancedNullabilityAnnotationConstructorCall()
|
||||||
|
}
|
||||||
IrSimpleTypeImpl(
|
IrSimpleTypeImpl(
|
||||||
irSymbol, !typeContext.definitelyNotNull && this.isMarkedNullable,
|
irSymbol, !typeContext.definitelyNotNull && this.isMarkedNullable,
|
||||||
fullyExpandedType(session).typeArguments.map { it.toIrTypeArgument(typeContext) },
|
fullyExpandedType(session).typeArguments.map { it.toIrTypeArgument(typeContext) },
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
//FILE: Holder.java
|
//FILE: Holder.java
|
||||||
import org.jetbrains.annotations.*;
|
import org.jetbrains.annotations.*;
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
//FILE: JavaClass.java
|
//FILE: JavaClass.java
|
||||||
import org.jetbrains.annotations.*;
|
import org.jetbrains.annotations.*;
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
// FILE: JClass.java
|
// FILE: JClass.java
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|||||||
+9
-9
@@ -20,16 +20,16 @@ FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
|
|||||||
RETURN type=kotlin.Nothing from='private final fun <get-j> (): <root>.J declared in <root>.Test'
|
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
|
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
|
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-j>' type=<root>.Test origin=null
|
||||||
FUN DELEGATED_MEMBER name:takeNotNull visibility:public modality:OPEN <> ($this:<root>.Test, x:kotlin.String) returnType:kotlin.Unit
|
FUN DELEGATED_MEMBER name:takeNotNull visibility:public modality:OPEN <> ($this:<root>.Test, x:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun takeNotNull (x: kotlin.String): kotlin.Unit declared in <root>.J
|
public abstract fun takeNotNull (x: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
VALUE_PARAMETER name:x index:0 type:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public abstract fun takeNotNull (x: kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
CALL 'public abstract fun takeNotNull (x: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNotNull' type=<root>.Test origin=null
|
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNotNull' type=<root>.Test origin=null
|
||||||
x: GET_VAR 'x: kotlin.String declared in <root>.Test.takeNotNull' type=kotlin.String 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:kotlin.String?) returnType:kotlin.Unit
|
FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:<root>.Test, x:kotlin.String?) returnType:kotlin.Unit
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J
|
public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J
|
||||||
@@ -50,13 +50,13 @@ FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
|
|||||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeFlexible' type=<root>.Test origin=null
|
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeFlexible' type=<root>.Test origin=null
|
||||||
x: GET_VAR 'x: kotlin.String? declared in <root>.Test.takeFlexible' type=kotlin.String? origin=null
|
x: GET_VAR 'x: kotlin.String? declared in <root>.Test.takeFlexible' type=kotlin.String? origin=null
|
||||||
FUN DELEGATED_MEMBER name:returnNotNull visibility:public modality:OPEN <> ($this:<root>.Test) returnType:kotlin.String
|
FUN DELEGATED_MEMBER name:returnNotNull visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[EnhancedNullability] kotlin.String
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun returnNotNull (): kotlin.String declared in <root>.J
|
public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.J
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
$this: VALUE_PARAMETER name:<this> type:<root>.Test
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public open fun returnNotNull (): kotlin.String declared in <root>.Test'
|
RETURN type=kotlin.Nothing from='public open fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.Test'
|
||||||
CALL 'public abstract fun returnNotNull (): kotlin.String declared in <root>.J' type=kotlin.String origin=null
|
CALL 'public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNotNull' type=<root>.Test 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:kotlin.String?
|
FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:<root>.Test) returnType:kotlin.String?
|
||||||
|
|||||||
+20
-20
@@ -41,18 +41,18 @@ FILE fqName:<root> fileName:/nullCheckOnGenericLambdaReturn.kt
|
|||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.test1'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.test1'
|
||||||
CALL 'public open fun foo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
CALL 'public open fun foo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||||
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.String
|
FUN name:test2 visibility:public modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test2 (): kotlin.String declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun test2 (): @[EnhancedNullability] kotlin.String declared in <root>'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
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>: kotlin.String
|
<T>: @[EnhancedNullability] kotlin.String
|
||||||
fn: FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
|
fn: FUN_EXPR type=kotlin.Function0<@[EnhancedNullability] kotlin.String> origin=LAMBDA
|
||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.test2'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): @[EnhancedNullability] kotlin.String declared in <root>.test2'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] kotlin.String
|
||||||
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
|
||||||
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String?
|
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.String?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test3 (): kotlin.String? declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun test3 (): kotlin.String? declared in <root>'
|
||||||
@@ -63,15 +63,15 @@ FILE fqName:<root> fileName:/nullCheckOnGenericLambdaReturn.kt
|
|||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.test3'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.test3'
|
||||||
CALL 'public open fun foo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
CALL 'public open fun foo (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||||
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.String
|
FUN name:test4 visibility:public modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test4 (): kotlin.String declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun test4 (): @[EnhancedNullability] kotlin.String declared in <root>'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
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>: kotlin.String
|
<T>: @[EnhancedNullability] kotlin.String
|
||||||
fn: FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
|
fn: FUN_EXPR type=kotlin.Function0<@[EnhancedNullability] kotlin.String> origin=LAMBDA
|
||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.test4'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): @[EnhancedNullability] kotlin.String declared in <root>.test4'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] kotlin.String
|
||||||
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
|
||||||
|
|||||||
@@ -85,5 +85,5 @@ FILE fqName:<root> fileName:/nullCheckOnLambdaReturn.kt
|
|||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Any?
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Any?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Any? declared in <root>.test6'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Any? declared in <root>.test6'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] kotlin.String
|
||||||
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
|
||||||
|
|||||||
@@ -5,51 +5,51 @@ FILE fqName:<root> fileName:/enhancedNullability.kt
|
|||||||
FUN name:testUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:testUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public final fun use (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
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
|
s: TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
FUN name:testLocalVal visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
VAR name:local type:kotlin.String [val]
|
VAR name:local type:@[EnhancedNullability] kotlin.String [val]
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
FUN name:testReturnValue visibility:public modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun testReturnValue (): kotlin.String declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun testReturnValue (): @[EnhancedNullability] kotlin.String declared in <root>'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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]
|
PROPERTY name:testGlobalVal visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:testGlobalVal type:kotlin.String visibility:private [final,static]
|
FIELD PROPERTY_BACKING_FIELD name:testGlobalVal type:@[EnhancedNullability] kotlin.String visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testGlobalVal> visibility:public modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
correspondingProperty: PROPERTY name:testGlobalVal visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:testGlobalVal visibility:public modality:FINAL [val]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-testGlobalVal> (): kotlin.String declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun <get-testGlobalVal> (): @[EnhancedNullability] kotlin.String declared in <root>'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testGlobalVal type:kotlin.String visibility:private [final,static]' type=kotlin.String origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testGlobalVal type:@[EnhancedNullability] kotlin.String visibility:private [final,static]' type=@[EnhancedNullability] kotlin.String origin=null
|
||||||
PROPERTY name:testGlobalValGetter visibility:public modality:FINAL [val]
|
PROPERTY name:testGlobalValGetter visibility:public modality:FINAL [val]
|
||||||
FUN name:<get-testGlobalValGetter> visibility:public modality:FINAL <> () returnType:kotlin.String
|
FUN name:<get-testGlobalValGetter> visibility:public modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
correspondingProperty: PROPERTY name:testGlobalValGetter visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:testGlobalValGetter visibility:public modality:FINAL [val]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-testGlobalValGetter> (): kotlin.String declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun <get-testGlobalValGetter> (): @[EnhancedNullability] kotlin.String declared in <root>'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
FUN name:testJUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
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 (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
s: CALL 'public open fun nullString (): 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 use (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||||
s: TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
s: TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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:testLocalVarUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:testLocalVarUse visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
VAR name:ns type:kotlin.String? [val]
|
VAR name:ns type:kotlin.String? [val]
|
||||||
CALL 'public open fun nullString (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
CALL 'public open fun nullString (): 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 use (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||||
s: GET_VAR 'val ns: kotlin.String? [val] declared in <root>.testLocalVarUse' type=kotlin.String? origin=null
|
s: GET_VAR 'val ns: kotlin.String? [val] declared in <root>.testLocalVarUse' type=kotlin.String? origin=null
|
||||||
VAR name:nns type:kotlin.String [val]
|
VAR name:nns type:@[EnhancedNullability] kotlin.String [val]
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
||||||
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: TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
s: TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] kotlin.String
|
||||||
GET_VAR 'val nns: kotlin.String [val] declared in <root>.testLocalVarUse' type=kotlin.String origin=null
|
GET_VAR 'val nns: @[EnhancedNullability] kotlin.String [val] declared in <root>.testLocalVarUse' type=@[EnhancedNullability] kotlin.String origin=null
|
||||||
|
|||||||
Vendored
+5
-5
@@ -117,15 +117,15 @@ FILE fqName:<root> fileName:/enhancedNullabilityInDestructuringAssignment.kt
|
|||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.P [val]
|
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:@[EnhancedNullability] <root>.P [val]
|
||||||
TYPE_OP type=<root>.P origin=IMPLICIT_NOTNULL typeOperand=<root>.P
|
TYPE_OP type=@[EnhancedNullability] <root>.P origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] <root>.P
|
||||||
CALL 'public open fun notNullP (): <root>.P declared in <root>.J' type=<root>.P origin=null
|
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]
|
VAR name:x type:kotlin.Int [val]
|
||||||
CALL 'public final fun component1 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=null
|
CALL 'public final fun component1 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=null
|
||||||
$this: GET_VAR 'val tmp_0: <root>.P [val] declared in <root>.test1' type=<root>.P origin=null
|
$this: 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]
|
VAR name:y type:kotlin.Int [val]
|
||||||
CALL 'public final fun component2 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=null
|
CALL 'public final fun component2 (): kotlin.Int [operator] declared in <root>.P' type=kotlin.Int origin=null
|
||||||
$this: GET_VAR 'val tmp_0: <root>.P [val] declared in <root>.test1' type=<root>.P origin=null
|
$this: 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
|
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
|
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
|
y: GET_VAR 'val y: kotlin.Int [val] declared in <root>.test1' type=kotlin.Int origin=null
|
||||||
|
|||||||
+2
-2
@@ -76,7 +76,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
|||||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||||
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInListUse' type=<root>.P? origin=null
|
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInListUse' type=<root>.P? origin=null
|
||||||
CALL 'public open fun use (s: <root>.P): kotlin.Unit declared in <root>.J' type=kotlin.Unit 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: <root>.P? [val] declared in <root>.testForInListUse' type=<root>.P? origin=null
|
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInListUse' type=<root>.P? origin=null
|
||||||
FUN name:testForInArrayUse visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
FUN name:testForInArrayUse visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
||||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||||
@@ -95,7 +95,7 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
|||||||
$this: GET_VAR 'val tmp_4: kotlin.collections.Iterator<<root>.P?> [val] declared in <root>.testForInArrayUse' type=kotlin.collections.Iterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_4: kotlin.collections.Iterator<<root>.P?> [val] declared in <root>.testForInArrayUse' type=kotlin.collections.Iterator<<root>.P?> origin=null
|
||||||
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||||
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInArrayUse' type=<root>.P? origin=null
|
s: 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
|
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: <root>.P? [val] declared in <root>.testForInArrayUse' type=<root>.P? origin=null
|
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInArrayUse' type=<root>.P? origin=null
|
||||||
CLASS INTERFACE name:K modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
CLASS INTERFACE name:K modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.K
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.K
|
||||||
|
|||||||
+7
-7
@@ -9,11 +9,11 @@ FILE fqName:<root> fileName:/nnStringVsT.kt
|
|||||||
FUN name:testNoNullCheck visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:testNoNullCheck visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||||
CALL 'public final fun useT <T> (fn: kotlin.Function0<T of <root>.useT>): T of <root>.useT declared in <root>' type=kotlin.String origin=null
|
CALL 'public final fun useT <T> (fn: kotlin.Function0<T of <root>.useT>): T of <root>.useT declared in <root>' type=@[EnhancedNullability] kotlin.String origin=null
|
||||||
<T>: kotlin.String
|
<T>: @[EnhancedNullability] kotlin.String
|
||||||
fn: FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
|
fn: FUN_EXPR type=kotlin.Function0<@[EnhancedNullability] kotlin.String> origin=LAMBDA
|
||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.testNoNullCheck'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): @[EnhancedNullability] kotlin.String declared in <root>.testNoNullCheck'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
||||||
|
|||||||
Vendored
+7
-7
@@ -9,11 +9,11 @@ FILE fqName:<root> fileName:/nnStringVsTAny.kt
|
|||||||
FUN name:testNoNullCheck visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:testNoNullCheck visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||||
CALL 'public final fun useTAny <T> (fn: kotlin.Function0<T of <root>.useTAny>): T of <root>.useTAny declared in <root>' type=kotlin.String origin=null
|
CALL 'public final fun useTAny <T> (fn: kotlin.Function0<T of <root>.useTAny>): T of <root>.useTAny declared in <root>' type=@[EnhancedNullability] kotlin.String origin=null
|
||||||
<T>: kotlin.String
|
<T>: @[EnhancedNullability] kotlin.String
|
||||||
fn: FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
|
fn: FUN_EXPR type=kotlin.Function0<@[EnhancedNullability] kotlin.String> origin=LAMBDA
|
||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:@[EnhancedNullability] kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.testNoNullCheck'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): @[EnhancedNullability] kotlin.String declared in <root>.testNoNullCheck'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
||||||
|
|||||||
Vendored
+2
-2
@@ -18,5 +18,5 @@ FILE fqName:<root> fileName:/nnStringVsTConstrained.kt
|
|||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.testWithNullCheck'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.testWithNullCheck'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
||||||
|
|||||||
Vendored
+2
-2
@@ -18,5 +18,5 @@ FILE fqName:<root> fileName:/nnStringVsTXArray.kt
|
|||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:java.io.Serializable
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:java.io.Serializable
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): java.io.Serializable declared in <root>.testWithNullCheck'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): java.io.Serializable declared in <root>.testWithNullCheck'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
||||||
|
|||||||
Vendored
+2
-2
@@ -17,5 +17,5 @@ FILE fqName:<root> fileName:/nnStringVsTXString.kt
|
|||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.testWithNullCheck'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.testWithNullCheck'
|
||||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
TYPE_OP type=@[EnhancedNullability] kotlin.String origin=IMPLICIT_NOTNULL typeOperand=@[EnhancedNullability] 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
|
||||||
|
|||||||
Reference in New Issue
Block a user