Represent raw types in IR using a special type annotation
This commit is contained in:
+26
-23
@@ -12,10 +12,7 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.descriptors.annotations.FilteredAnnotations
|
import org.jetbrains.kotlin.descriptors.annotations.FilteredAnnotations
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
|
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
|
||||||
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.IrExternalPackageFragmentImpl
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||||
@@ -112,27 +109,27 @@ class JvmGeneratorExtensions(private val generateFacades: Boolean = true) : Gene
|
|||||||
private val kotlinJvmInternalPackage =
|
private val kotlinJvmInternalPackage =
|
||||||
IrExternalPackageFragmentImpl(DescriptorlessExternalPackageFragmentSymbol(), JvmAnnotationNames.KOTLIN_JVM_INTERNAL)
|
IrExternalPackageFragmentImpl(DescriptorlessExternalPackageFragmentSymbol(), JvmAnnotationNames.KOTLIN_JVM_INTERNAL)
|
||||||
|
|
||||||
private val flexibleNullabilityAnnotationClass = IrFactoryImpl.buildClass {
|
private fun createSpecialAnnotationClass(fqn: FqName, parent: IrPackageFragment) =
|
||||||
kind = ClassKind.ANNOTATION_CLASS
|
IrFactoryImpl.buildClass {
|
||||||
name = FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME.shortName()
|
kind = ClassKind.ANNOTATION_CLASS
|
||||||
}.apply {
|
name = fqn.shortName()
|
||||||
createImplicitParameterDeclarationWithWrappedDescriptor()
|
}.apply {
|
||||||
parent = kotlinIrInternalPackage
|
createImplicitParameterDeclarationWithWrappedDescriptor()
|
||||||
addConstructor {
|
this.parent = parent
|
||||||
isPrimary = true
|
addConstructor {
|
||||||
|
isPrimary = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private val enhancedNullabilityAnnotationClass = IrFactoryImpl.buildClass {
|
private val flexibleNullabilityAnnotationClass =
|
||||||
kind = ClassKind.ANNOTATION_CLASS
|
createSpecialAnnotationClass(FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME, kotlinIrInternalPackage)
|
||||||
name = ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME.shortName()
|
|
||||||
}.apply {
|
private val rawTypeAnnotationClass =
|
||||||
createImplicitParameterDeclarationWithWrappedDescriptor()
|
createSpecialAnnotationClass(RAW_TYPE_ANNOTATION_FQ_NAME, kotlinIrInternalPackage)
|
||||||
parent = kotlinJvmInternalPackage
|
|
||||||
addConstructor {
|
// NB Class 'kotlin.jvm.internal.EnhancedNullability' doesn't exist anywhere in descriptors or in bytecode
|
||||||
isPrimary = true
|
private val enhancedNullabilityAnnotationClass =
|
||||||
}
|
createSpecialAnnotationClass(ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME, kotlinJvmInternalPackage)
|
||||||
}
|
|
||||||
|
|
||||||
override val flexibleNullabilityAnnotationConstructor: IrConstructor? =
|
override val flexibleNullabilityAnnotationConstructor: IrConstructor? =
|
||||||
flexibleNullabilityAnnotationClass.constructors.single()
|
flexibleNullabilityAnnotationClass.constructors.single()
|
||||||
@@ -140,11 +137,17 @@ class JvmGeneratorExtensions(private val generateFacades: Boolean = true) : Gene
|
|||||||
override val enhancedNullabilityAnnotationConstructor: IrConstructor? =
|
override val enhancedNullabilityAnnotationConstructor: IrConstructor? =
|
||||||
enhancedNullabilityAnnotationClass.constructors.single()
|
enhancedNullabilityAnnotationClass.constructors.single()
|
||||||
|
|
||||||
|
override val rawTypeAnnotationConstructor: IrConstructor? =
|
||||||
|
rawTypeAnnotationClass.constructors.single()
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME =
|
val FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME =
|
||||||
IrBuiltIns.KOTLIN_INTERNAL_IR_FQN.child(Name.identifier("FlexibleNullability"))
|
IrBuiltIns.KOTLIN_INTERNAL_IR_FQN.child(Name.identifier("FlexibleNullability"))
|
||||||
|
|
||||||
val ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME: FqName =
|
val ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME: FqName =
|
||||||
JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION
|
JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION
|
||||||
|
|
||||||
|
val RAW_TYPE_ANNOTATION_FQ_NAME =
|
||||||
|
IrBuiltIns.KOTLIN_INTERNAL_IR_FQN.child(Name.identifier("RawType"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -298,7 +298,8 @@ abstract class AnnotationCodegen(
|
|||||||
|
|
||||||
internal val internalAnnotations = setOf(
|
internal val internalAnnotations = setOf(
|
||||||
JvmGeneratorExtensions.FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME,
|
JvmGeneratorExtensions.FLEXIBLE_NULLABILITY_ANNOTATION_FQ_NAME,
|
||||||
JvmGeneratorExtensions.ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME
|
JvmGeneratorExtensions.ENHANCED_NULLABILITY_ANNOTATION_FQ_NAME,
|
||||||
|
JvmGeneratorExtensions.RAW_TYPE_ANNOTATION_FQ_NAME
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getRetentionPolicy(irClass: IrClass): RetentionPolicy {
|
private fun getRetentionPolicy(irClass: IrClass): RetentionPolicy {
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ open class StubGeneratorExtensions {
|
|||||||
open val enhancedNullabilityAnnotationConstructor: IrConstructor?
|
open val enhancedNullabilityAnnotationConstructor: IrConstructor?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
open val rawTypeAnnotationConstructor: IrConstructor?
|
||||||
|
get() = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmField
|
@JvmField
|
||||||
val EMPTY = StubGeneratorExtensions()
|
val EMPTY = StubGeneratorExtensions()
|
||||||
|
|||||||
@@ -208,6 +208,10 @@ class TypeTranslator(
|
|||||||
irAnnotations.addSpecialAnnotation(extensions.flexibleNullabilityAnnotationConstructor)
|
irAnnotations.addSpecialAnnotation(extensions.flexibleNullabilityAnnotationConstructor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flexibleType is RawType) {
|
||||||
|
irAnnotations.addSpecialAnnotation(extensions.rawTypeAnnotationConstructor)
|
||||||
|
}
|
||||||
|
|
||||||
return irAnnotations
|
return irAnnotations
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+45
-45
@@ -59,23 +59,23 @@ FILE fqName:<root> fileName:/rawTypeInSignature.kt
|
|||||||
overridden:
|
overridden:
|
||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
FUN name:testReturnsRawGenericInv visibility:public modality:FINAL <> (j:<root>.JRaw) returnType:@[FlexibleNullability] <root>.GenericInv<kotlin.Number>?
|
FUN name:testReturnsRawGenericInv visibility:public modality:FINAL <> (j:<root>.JRaw) returnType:@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>?
|
||||||
VALUE_PARAMETER name:j index:0 type:<root>.JRaw
|
VALUE_PARAMETER name:j index:0 type:<root>.JRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun testReturnsRawGenericInv (j: <root>.JRaw): @[FlexibleNullability] <root>.GenericInv<kotlin.Number>? declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun testReturnsRawGenericInv (j: <root>.JRaw): @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? declared in <root>'
|
||||||
CALL 'public abstract fun returnsRawGenericInv (): @[FlexibleNullability] <root>.GenericInv<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] <root>.GenericInv<kotlin.Number>? origin=null
|
CALL 'public abstract fun returnsRawGenericInv (): @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? origin=null
|
||||||
$this: GET_VAR 'j: <root>.JRaw declared in <root>.testReturnsRawGenericInv' type=<root>.JRaw origin=null
|
$this: GET_VAR 'j: <root>.JRaw declared in <root>.testReturnsRawGenericInv' type=<root>.JRaw origin=null
|
||||||
FUN name:testReturnsRawGenericIn visibility:public modality:FINAL <> (j:<root>.JRaw) returnType:@[FlexibleNullability] <root>.GenericIn<kotlin.Number>?
|
FUN name:testReturnsRawGenericIn visibility:public modality:FINAL <> (j:<root>.JRaw) returnType:@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?
|
||||||
VALUE_PARAMETER name:j index:0 type:<root>.JRaw
|
VALUE_PARAMETER name:j index:0 type:<root>.JRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun testReturnsRawGenericIn (j: <root>.JRaw): @[FlexibleNullability] <root>.GenericIn<kotlin.Number>? declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun testReturnsRawGenericIn (j: <root>.JRaw): @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? declared in <root>'
|
||||||
CALL 'public abstract fun returnsRawGenericIn (): @[FlexibleNullability] <root>.GenericIn<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] <root>.GenericIn<kotlin.Number>? origin=null
|
CALL 'public abstract fun returnsRawGenericIn (): @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? origin=null
|
||||||
$this: GET_VAR 'j: <root>.JRaw declared in <root>.testReturnsRawGenericIn' type=<root>.JRaw origin=null
|
$this: GET_VAR 'j: <root>.JRaw declared in <root>.testReturnsRawGenericIn' type=<root>.JRaw origin=null
|
||||||
FUN name:testReturnsRawGenericOut visibility:public modality:FINAL <> (j:<root>.JRaw) returnType:@[FlexibleNullability] <root>.GenericOut<kotlin.Number>?
|
FUN name:testReturnsRawGenericOut visibility:public modality:FINAL <> (j:<root>.JRaw) returnType:@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>?
|
||||||
VALUE_PARAMETER name:j index:0 type:<root>.JRaw
|
VALUE_PARAMETER name:j index:0 type:<root>.JRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun testReturnsRawGenericOut (j: <root>.JRaw): @[FlexibleNullability] <root>.GenericOut<kotlin.Number>? declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun testReturnsRawGenericOut (j: <root>.JRaw): @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>'
|
||||||
CALL 'public abstract fun returnsRawGenericOut (): @[FlexibleNullability] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] <root>.GenericOut<kotlin.Number>? origin=null
|
CALL 'public abstract fun returnsRawGenericOut (): @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? origin=null
|
||||||
$this: GET_VAR 'j: <root>.JRaw declared in <root>.testReturnsRawGenericOut' type=<root>.JRaw origin=null
|
$this: GET_VAR 'j: <root>.JRaw declared in <root>.testReturnsRawGenericOut' type=<root>.JRaw origin=null
|
||||||
CLASS CLASS name:KRaw modality:FINAL visibility:public superTypes:[<root>.JRaw]
|
CLASS CLASS name:KRaw modality:FINAL visibility:public superTypes:[<root>.JRaw]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.KRaw
|
||||||
@@ -87,82 +87,82 @@ FILE fqName:<root> fileName:/rawTypeInSignature.kt
|
|||||||
FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]
|
FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
GET_VAR 'j: <root>.JRaw declared in <root>.KRaw.<init>' type=<root>.JRaw origin=null
|
GET_VAR 'j: <root>.JRaw declared in <root>.KRaw.<init>' type=<root>.JRaw origin=null
|
||||||
FUN DELEGATED_MEMBER name:returnsRawGenericIn visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] <root>.GenericIn<kotlin.Number>?
|
FUN DELEGATED_MEMBER name:returnsRawGenericIn visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun returnsRawGenericIn (): @[FlexibleNullability] <root>.GenericIn<kotlin.Number>? declared in <root>.JRaw
|
public abstract fun returnsRawGenericIn (): @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public open fun returnsRawGenericIn (): @[FlexibleNullability] <root>.GenericIn<kotlin.Number>? declared in <root>.KRaw'
|
RETURN type=kotlin.Nothing from='public open fun returnsRawGenericIn (): @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? declared in <root>.KRaw'
|
||||||
CALL 'public abstract fun returnsRawGenericIn (): @[FlexibleNullability] <root>.GenericIn<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] <root>.GenericIn<kotlin.Number>? origin=null
|
CALL 'public abstract fun returnsRawGenericIn (): @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericIn' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericIn' type=<root>.KRaw origin=null
|
||||||
FUN DELEGATED_MEMBER name:returnsRawGenericInv visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] <root>.GenericInv<kotlin.Number>?
|
FUN DELEGATED_MEMBER name:returnsRawGenericInv visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>?
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun returnsRawGenericInv (): @[FlexibleNullability] <root>.GenericInv<kotlin.Number>? declared in <root>.JRaw
|
public abstract fun returnsRawGenericInv (): @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public open fun returnsRawGenericInv (): @[FlexibleNullability] <root>.GenericInv<kotlin.Number>? declared in <root>.KRaw'
|
RETURN type=kotlin.Nothing from='public open fun returnsRawGenericInv (): @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? declared in <root>.KRaw'
|
||||||
CALL 'public abstract fun returnsRawGenericInv (): @[FlexibleNullability] <root>.GenericInv<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] <root>.GenericInv<kotlin.Number>? origin=null
|
CALL 'public abstract fun returnsRawGenericInv (): @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericInv' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericInv' type=<root>.KRaw origin=null
|
||||||
FUN DELEGATED_MEMBER name:returnsRawGenericOut visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] <root>.GenericOut<kotlin.Number>?
|
FUN DELEGATED_MEMBER name:returnsRawGenericOut visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>?
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun returnsRawGenericOut (): @[FlexibleNullability] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw
|
public abstract fun returnsRawGenericOut (): @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public open fun returnsRawGenericOut (): @[FlexibleNullability] <root>.GenericOut<kotlin.Number>? declared in <root>.KRaw'
|
RETURN type=kotlin.Nothing from='public open fun returnsRawGenericOut (): @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.KRaw'
|
||||||
CALL 'public abstract fun returnsRawGenericOut (): @[FlexibleNullability] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] <root>.GenericOut<kotlin.Number>? origin=null
|
CALL 'public abstract fun returnsRawGenericOut (): @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericOut' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawGenericOut' type=<root>.KRaw origin=null
|
||||||
FUN DELEGATED_MEMBER name:returnsRawList visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] kotlin.collections.List<kotlin.Any?>?
|
FUN DELEGATED_MEMBER name:returnsRawList visibility:public modality:OPEN <> ($this:<root>.KRaw) returnType:@[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>?
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun returnsRawList (): @[FlexibleNullability] kotlin.collections.List<kotlin.Any?>? declared in <root>.JRaw
|
public abstract fun returnsRawList (): @[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>? declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public open fun returnsRawList (): @[FlexibleNullability] kotlin.collections.List<kotlin.Any?>? declared in <root>.KRaw'
|
RETURN type=kotlin.Nothing from='public open fun returnsRawList (): @[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>? declared in <root>.KRaw'
|
||||||
CALL 'public abstract fun returnsRawList (): @[FlexibleNullability] kotlin.collections.List<kotlin.Any?>? declared in <root>.JRaw' type=@[FlexibleNullability] kotlin.collections.List<kotlin.Any?>? origin=null
|
CALL 'public abstract fun returnsRawList (): @[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>? declared in <root>.JRaw' type=@[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>? origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawList' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.returnsRawList' type=<root>.KRaw origin=null
|
||||||
FUN DELEGATED_MEMBER name:takesRawGenericIn visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] <root>.GenericIn<kotlin.Number>?) returnType:kotlin.Unit
|
FUN DELEGATED_MEMBER name:takesRawGenericIn visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?) returnType:kotlin.Unit
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun takesRawGenericIn (g: @[FlexibleNullability] <root>.GenericIn<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw
|
public abstract fun takesRawGenericIn (g: @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
VALUE_PARAMETER name:g index:0 type:@[FlexibleNullability] <root>.GenericIn<kotlin.Number>?
|
VALUE_PARAMETER name:g index:0 type:@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public abstract fun takesRawGenericIn (g: @[FlexibleNullability] <root>.GenericIn<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
CALL 'public abstract fun takesRawGenericIn (g: @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericIn' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericIn' type=<root>.KRaw origin=null
|
||||||
g: GET_VAR 'g: @[FlexibleNullability] <root>.GenericIn<kotlin.Number>? declared in <root>.KRaw.takesRawGenericIn' type=@[FlexibleNullability] <root>.GenericIn<kotlin.Number>? origin=null
|
g: GET_VAR 'g: @[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? declared in <root>.KRaw.takesRawGenericIn' type=@[FlexibleNullability] @[RawType] <root>.GenericIn<kotlin.Number>? origin=null
|
||||||
FUN DELEGATED_MEMBER name:takesRawGenericInv visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] <root>.GenericInv<kotlin.Number>?) returnType:kotlin.Unit
|
FUN DELEGATED_MEMBER name:takesRawGenericInv visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>?) returnType:kotlin.Unit
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun takesRawGenericInv (g: @[FlexibleNullability] <root>.GenericInv<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw
|
public abstract fun takesRawGenericInv (g: @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
VALUE_PARAMETER name:g index:0 type:@[FlexibleNullability] <root>.GenericInv<kotlin.Number>?
|
VALUE_PARAMETER name:g index:0 type:@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public abstract fun takesRawGenericInv (g: @[FlexibleNullability] <root>.GenericInv<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
CALL 'public abstract fun takesRawGenericInv (g: @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericInv' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericInv' type=<root>.KRaw origin=null
|
||||||
g: GET_VAR 'g: @[FlexibleNullability] <root>.GenericInv<kotlin.Number>? declared in <root>.KRaw.takesRawGenericInv' type=@[FlexibleNullability] <root>.GenericInv<kotlin.Number>? origin=null
|
g: GET_VAR 'g: @[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? declared in <root>.KRaw.takesRawGenericInv' type=@[FlexibleNullability] @[RawType] <root>.GenericInv<kotlin.Number>? origin=null
|
||||||
FUN DELEGATED_MEMBER name:takesRawGenericOut visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] <root>.GenericOut<kotlin.Number>?) returnType:kotlin.Unit
|
FUN DELEGATED_MEMBER name:takesRawGenericOut visibility:public modality:OPEN <> ($this:<root>.KRaw, g:@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>?) returnType:kotlin.Unit
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun takesRawGenericOut (g: @[FlexibleNullability] <root>.GenericOut<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw
|
public abstract fun takesRawGenericOut (g: @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
VALUE_PARAMETER name:g index:0 type:@[FlexibleNullability] <root>.GenericOut<kotlin.Number>?
|
VALUE_PARAMETER name:g index:0 type:@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public abstract fun takesRawGenericOut (g: @[FlexibleNullability] <root>.GenericOut<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
CALL 'public abstract fun takesRawGenericOut (g: @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericOut' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawGenericOut' type=<root>.KRaw origin=null
|
||||||
g: GET_VAR 'g: @[FlexibleNullability] <root>.GenericOut<kotlin.Number>? declared in <root>.KRaw.takesRawGenericOut' type=@[FlexibleNullability] <root>.GenericOut<kotlin.Number>? origin=null
|
g: GET_VAR 'g: @[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? declared in <root>.KRaw.takesRawGenericOut' type=@[FlexibleNullability] @[RawType] <root>.GenericOut<kotlin.Number>? origin=null
|
||||||
FUN DELEGATED_MEMBER name:takesRawList visibility:public modality:OPEN <> ($this:<root>.KRaw, list:@[FlexibleNullability] kotlin.collections.List<kotlin.Any?>?) returnType:kotlin.Unit
|
FUN DELEGATED_MEMBER name:takesRawList visibility:public modality:OPEN <> ($this:<root>.KRaw, list:@[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>?) returnType:kotlin.Unit
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun takesRawList (list: @[FlexibleNullability] kotlin.collections.List<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw
|
public abstract fun takesRawList (list: @[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
$this: VALUE_PARAMETER name:<this> type:<root>.KRaw
|
||||||
VALUE_PARAMETER name:list index:0 type:@[FlexibleNullability] kotlin.collections.List<kotlin.Any?>?
|
VALUE_PARAMETER name:list index:0 type:@[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public abstract fun takesRawList (list: @[FlexibleNullability] kotlin.collections.List<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
CALL 'public abstract fun takesRawList (list: @[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>?): kotlin.Unit declared in <root>.JRaw' type=kotlin.Unit origin=null
|
||||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.JRaw visibility:private [final]' type=<root>.JRaw origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawList' type=<root>.KRaw origin=null
|
receiver: GET_VAR '<this>: <root>.KRaw declared in <root>.KRaw.takesRawList' type=<root>.KRaw origin=null
|
||||||
list: GET_VAR 'list: @[FlexibleNullability] kotlin.collections.List<kotlin.Any?>? declared in <root>.KRaw.takesRawList' type=@[FlexibleNullability] kotlin.collections.List<kotlin.Any?>? origin=null
|
list: GET_VAR 'list: @[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>? declared in <root>.KRaw.takesRawList' type=@[FlexibleNullability] @[RawType] kotlin.collections.List<kotlin.Any?>? origin=null
|
||||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.JRaw
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.JRaw
|
||||||
|
|||||||
Reference in New Issue
Block a user