[IR] Use erased types in backing field initializer in case of generic delegated property
- Since neither IrProperty nor IrField is Type Parameter container using of proprty's type parameter in IrField related code leads to creation of "hanging" type parameters which should be considered as incorrect IR. - Such code designed to be prohibited in LV 1.5 - The fix makes use of erased type in such case where type parameter is expected.
This commit is contained in:
Generated
+5
@@ -13748,6 +13748,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ir/serializationRegressions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@TestMetadata("deepGenericDelegatedProperty.kt")
|
||||
public void testDeepGenericDelegatedProperty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/deepGenericDelegatedProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("dispatchReceiverValue.kt")
|
||||
public void testDispatchReceiverValue() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/dispatchReceiverValue.kt");
|
||||
|
||||
+5
@@ -1872,6 +1872,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
|
||||
runTest("compiler/testData/ir/irText/types/coercionToUnitInLambdaReturnValue.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericDelegatedDeepProperty.kt")
|
||||
public void testGenericDelegatedDeepProperty() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/types/genericDelegatedDeepProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericFunWithStar.kt")
|
||||
public void testGenericFunWithStar() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/types/genericFunWithStar.kt");
|
||||
|
||||
+33
-27
@@ -65,7 +65,7 @@ class DelegatedPropertyGenerator(declarationGenerator: DeclarationGenerator) : D
|
||||
val irDelegate = irProperty.backingField!!
|
||||
|
||||
val thisClass = propertyDescriptor.containingDeclaration as? ClassDescriptor
|
||||
val delegateReceiverValue = createBackingFieldValueForDelegate(irDelegate.symbol, thisClass, ktDelegate)
|
||||
val delegateReceiverValue = createBackingFieldValueForDelegate(irDelegate.symbol, thisClass, ktDelegate, propertyDescriptor)
|
||||
val getterDescriptor = propertyDescriptor.getter!!
|
||||
irProperty.getter = generateDelegatedPropertyAccessor(ktProperty, ktDelegate, getterDescriptor) { irGetter ->
|
||||
generateDelegatedPropertyGetterBody(
|
||||
@@ -120,24 +120,26 @@ class DelegatedPropertyGenerator(declarationGenerator: DeclarationGenerator) : D
|
||||
kPropertyType: KotlinType,
|
||||
ktDelegate: KtPropertyDelegate
|
||||
): IrField {
|
||||
val delegateType = getDelegatedPropertyDelegateType(propertyDescriptor, ktDelegate)
|
||||
val delegateDescriptor = createPropertyDelegateDescriptor(propertyDescriptor, delegateType, kPropertyType)
|
||||
return context.typeTranslator.withTypeErasure(propertyDescriptor) {
|
||||
val delegateType = getDelegatedPropertyDelegateType(propertyDescriptor, ktDelegate)
|
||||
val delegateDescriptor = createPropertyDelegateDescriptor(propertyDescriptor, delegateType, kPropertyType)
|
||||
|
||||
val startOffset = ktDelegate.startOffsetSkippingComments
|
||||
val endOffset = ktDelegate.endOffset
|
||||
val origin = IrDeclarationOrigin.PROPERTY_DELEGATE
|
||||
val type = delegateDescriptor.type.toIrType()
|
||||
return context.symbolTable.declareField(
|
||||
startOffset, endOffset, origin, delegateDescriptor, type
|
||||
) {
|
||||
IrFieldImpl(startOffset, endOffset, origin, it, type).apply {
|
||||
metadata = MetadataSource.Property(propertyDescriptor)
|
||||
val startOffset = ktDelegate.startOffsetSkippingComments
|
||||
val endOffset = ktDelegate.endOffset
|
||||
val origin = IrDeclarationOrigin.PROPERTY_DELEGATE
|
||||
val type = delegateDescriptor.type.toIrType()
|
||||
context.symbolTable.declareField(
|
||||
startOffset, endOffset, origin, delegateDescriptor, type
|
||||
) {
|
||||
IrFieldImpl(startOffset, endOffset, origin, it, type).apply {
|
||||
metadata = MetadataSource.Property(propertyDescriptor)
|
||||
}
|
||||
}.also { irDelegate ->
|
||||
irDelegate.initializer = generateInitializerBodyForPropertyDelegate(
|
||||
propertyDescriptor, kPropertyType, ktDelegate,
|
||||
irDelegate.symbol
|
||||
)
|
||||
}
|
||||
}.also { irDelegate ->
|
||||
irDelegate.initializer = generateInitializerBodyForPropertyDelegate(
|
||||
propertyDescriptor, kPropertyType, ktDelegate,
|
||||
irDelegate.symbol
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,17 +168,21 @@ class DelegatedPropertyGenerator(declarationGenerator: DeclarationGenerator) : D
|
||||
private fun createBackingFieldValueForDelegate(
|
||||
irDelegateField: IrFieldSymbol,
|
||||
thisClass: ClassDescriptor?,
|
||||
ktDelegate: KtPropertyDelegate
|
||||
ktDelegate: KtPropertyDelegate,
|
||||
propertyDescriptor: PropertyDescriptor
|
||||
): IntermediateValue {
|
||||
val thisValue = createThisValueForDelegate(thisClass, ktDelegate)
|
||||
return BackingFieldLValue(
|
||||
context,
|
||||
ktDelegate.startOffsetSkippingComments, ktDelegate.endOffset,
|
||||
irDelegateField.descriptor.type.toIrType(),
|
||||
irDelegateField,
|
||||
thisValue,
|
||||
null
|
||||
)
|
||||
return context.typeTranslator.withTypeErasure(propertyDescriptor) {
|
||||
// TODO: do not erase type here
|
||||
val thisValue = createThisValueForDelegate(thisClass, ktDelegate)
|
||||
BackingFieldLValue(
|
||||
context,
|
||||
ktDelegate.startOffsetSkippingComments, ktDelegate.endOffset,
|
||||
irDelegateField.descriptor.type.toIrType(),
|
||||
irDelegateField,
|
||||
thisValue,
|
||||
null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun createThisValueForDelegate(thisClass: ClassDescriptor?, ktDelegate: KtPropertyDelegate): IntermediateValue? =
|
||||
|
||||
+6
-3
@@ -203,10 +203,13 @@ internal class InsertImplicitCasts(
|
||||
initializer = initializer?.cast(declaration.descriptor.type)
|
||||
}
|
||||
|
||||
override fun visitField(declaration: IrField): IrStatement =
|
||||
declaration.transformPostfix {
|
||||
initializer?.coerceInnerExpression(descriptor.type)
|
||||
override fun visitField(declaration: IrField): IrStatement {
|
||||
return typeTranslator.withTypeErasure(declaration.correspondingPropertySymbol?.descriptor ?: declaration.descriptor) {
|
||||
declaration.transformPostfix {
|
||||
initializer?.coerceInnerExpression(descriptor.type)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitFunction(declaration: IrFunction): IrStatement =
|
||||
typeTranslator.buildWithScope(declaration) {
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
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
|
||||
@@ -22,6 +23,7 @@ import org.jetbrains.kotlin.ir.types.impl.*
|
||||
import org.jetbrains.kotlin.types.*
|
||||
import org.jetbrains.kotlin.types.typeUtil.replaceArgumentsWithStarProjections
|
||||
import org.jetbrains.kotlin.types.typesApproximation.approximateCapturedTypes
|
||||
import java.util.*
|
||||
|
||||
class TypeTranslator(
|
||||
private val symbolTable: ReferenceSymbolTable,
|
||||
@@ -31,6 +33,8 @@ class TypeTranslator(
|
||||
private val enterTableScope: Boolean = false
|
||||
) {
|
||||
|
||||
private val erasureStack = Stack<PropertyDescriptor>()
|
||||
|
||||
private val typeApproximatorForNI = TypeApproximator(builtIns)
|
||||
lateinit var constantValueGenerator: ConstantValueGenerator
|
||||
|
||||
@@ -48,6 +52,15 @@ class TypeTranslator(
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> withTypeErasure(propertyDescriptor: PropertyDescriptor, b: () -> T): T {
|
||||
try {
|
||||
erasureStack.push(propertyDescriptor)
|
||||
return b()
|
||||
} finally {
|
||||
erasureStack.pop()
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <T> buildWithScope(container: IrTypeParametersContainer, builder: () -> T): T {
|
||||
enterScope(container)
|
||||
val result = builder()
|
||||
@@ -80,6 +93,17 @@ class TypeTranslator(
|
||||
val ktTypeDescriptor = ktTypeConstructor.declarationDescriptor
|
||||
?: throw AssertionError("No descriptor for type $approximatedType")
|
||||
|
||||
if (erasureStack.isNotEmpty()) {
|
||||
if (ktTypeDescriptor is TypeParameterDescriptor) {
|
||||
if (ktTypeDescriptor.containingDeclaration in erasureStack) {
|
||||
// This hack is about type parameter leak in case of generic delegated property
|
||||
// Such code has to be prohibited since LV 1.5
|
||||
// For more details see commit message or KT-24643
|
||||
return approximateUpperBounds(ktTypeDescriptor.upperBounds, variance)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return IrSimpleTypeBuilder().apply {
|
||||
this.kotlinType = flexibleApproximatedType
|
||||
this.hasQuestionMark = approximatedType.isMarkedNullable
|
||||
@@ -103,6 +127,11 @@ class TypeTranslator(
|
||||
}.buildTypeProjection()
|
||||
}
|
||||
|
||||
private fun approximateUpperBounds(upperBounds: Collection<KotlinType>, variance: Variance): IrTypeProjection {
|
||||
val commonSupertype = CommonSupertypes.commonSupertype(upperBounds)
|
||||
return translateType(approximate(commonSupertype.replaceArgumentsWithStarProjections()), variance)
|
||||
}
|
||||
|
||||
private fun SimpleType.toIrTypeAbbreviation(): IrTypeAbbreviation {
|
||||
val typeAliasDescriptor = constructor.declarationDescriptor.let {
|
||||
it as? TypeAliasDescriptor
|
||||
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: NATIVE
|
||||
//For KT-6020
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
import kotlin.reflect.KProperty1
|
||||
import kotlin.reflect.KMutableProperty1
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
class Value<T, IT: IR<T>>(var value1: T, val value2: IT)
|
||||
|
||||
interface IDelegate1<T1, R1> {
|
||||
operator fun getValue(t: T1, p: KProperty<*>): R1
|
||||
}
|
||||
|
||||
interface IDelegate2<T2, R2> {
|
||||
operator fun getValue(t: T2, p: KProperty<*>): R2
|
||||
}
|
||||
|
||||
interface IR<R> {
|
||||
fun foo(): R
|
||||
}
|
||||
|
||||
class CR<R>(val r: R) : IR<R> {
|
||||
override fun foo(): R = r
|
||||
}
|
||||
|
||||
class P<P1, P2>(val p1: P1, val p2: P2)
|
||||
|
||||
val <T> Value<T, CR<T>>.additionalText by object : IDelegate1<Value<T, CR<T>>, P<T, T>> {
|
||||
|
||||
fun <F11T> qux11(t: F11T): F11T = t
|
||||
|
||||
private val Value<T, CR<T>>.deepO by object : IDelegate1<Value<T, CR<T>>, T> {
|
||||
override fun getValue(t: Value<T, CR<T>>, p: KProperty<*>): T {
|
||||
return qux11(t.value1)
|
||||
}
|
||||
}
|
||||
|
||||
private val Value<T, CR<T>>.deepK by object : IDelegate1<Value<T, CR<T>>, T> {
|
||||
fun <F22T: IR<T>> qux22(t: F22T): T = t.foo()
|
||||
|
||||
override fun getValue(t: Value<T, CR<T>>, p: KProperty<*>): T {
|
||||
return qux22(t.value2)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getValue(t: Value<T, CR<T>>, p: KProperty<*>): P<T, T> {
|
||||
return P(t.deepO, t.deepK)
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
fun box(): String {
|
||||
val p = Value("O", CR("K"))
|
||||
val rr = p.additionalText
|
||||
return rr.p1 + rr.p2
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
//For KT-6020
|
||||
|
||||
// MODULE: lib
|
||||
|
||||
@@ -68,7 +68,7 @@ FILE fqName:<root> fileName:/genericPropertyRef.kt
|
||||
FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.DVal visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (kmember: kotlin.Any) [primary] declared in <root>.DVal' type=<root>.DVal origin=null
|
||||
kmember: PROPERTY_REFERENCE 'public final text: kotlin.String? [var]' field=null getter='public final fun <get-text> (): kotlin.String? declared in <root>.Value' setter='public final fun <set-text> (<set-?>: kotlin.String?): kotlin.Unit declared in <root>.Value' type=kotlin.reflect.KMutableProperty1<<root>.Value<T of <root>.<get-additionalText>>, kotlin.String?> origin=null
|
||||
kmember: PROPERTY_REFERENCE 'public final text: kotlin.String? [var]' field=null getter='public final fun <get-text> (): kotlin.String? declared in <root>.Value' setter='public final fun <set-text> (<set-?>: kotlin.String?): kotlin.Unit declared in <root>.Value' type=kotlin.reflect.KMutableProperty1<<root>.Value<kotlin.Any?>, kotlin.String?> origin=null
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-additionalText> visibility:public modality:FINAL <T> ($receiver:<root>.Value<T of <root>.<get-additionalText>>) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val]
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||
@@ -83,7 +83,7 @@ FILE fqName:<root> fileName:/genericPropertyRef.kt
|
||||
FIELD PROPERTY_DELEGATE name:additionalValue$delegate type:<root>.DVal visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (kmember: kotlin.Any) [primary] declared in <root>.DVal' type=<root>.DVal origin=null
|
||||
kmember: PROPERTY_REFERENCE 'public final value: T of <root>.Value [var]' field=null getter='public final fun <get-value> (): T of <root>.Value declared in <root>.Value' setter='public final fun <set-value> (<set-?>: T of <root>.Value): kotlin.Unit declared in <root>.Value' type=kotlin.reflect.KMutableProperty1<<root>.Value<T of <root>.<get-additionalValue>>, T of <root>.<get-additionalValue>> origin=null
|
||||
kmember: PROPERTY_REFERENCE 'public final value: T of <root>.Value [var]' field=null getter='public final fun <get-value> (): T of <root>.Value declared in <root>.Value' setter='public final fun <set-value> (<set-?>: T of <root>.Value): kotlin.Unit declared in <root>.Value' type=kotlin.reflect.KMutableProperty1<<root>.Value<kotlin.Any?>, kotlin.Any?> origin=null
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-additionalValue> visibility:public modality:FINAL <T> ($receiver:<root>.Value<T of <root>.<get-additionalValue>>) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val]
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||
|
||||
@@ -0,0 +1,322 @@
|
||||
FILE fqName:<root> fileName:/genericDelegatedDeepProperty.kt
|
||||
CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:IT index:1 variance: superTypes:[<root>.IR<T of <root>.Value>]
|
||||
CONSTRUCTOR visibility:public <> (value1:T of <root>.Value, value2:IT of <root>.Value) returnType:<root>.Value<T of <root>.Value, IT of <root>.Value> [primary]
|
||||
VALUE_PARAMETER name:value1 index:0 type:T of <root>.Value
|
||||
VALUE_PARAMETER name:value2 index:1 type:IT of <root>.Value
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:value1 visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:value1 type:T of <root>.Value visibility:private
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'value1: T of <root>.Value declared in <root>.Value.<init>' type=T of <root>.Value origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value1> visibility:public modality:FINAL <> ($this:<root>.Value<T of <root>.Value, IT of <root>.Value>) returnType:T of <root>.Value
|
||||
correspondingProperty: PROPERTY name:value1 visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-value1> (): T of <root>.Value declared in <root>.Value'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value1 type:T of <root>.Value visibility:private' type=T of <root>.Value origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Value<T of <root>.Value, IT of <root>.Value> declared in <root>.Value.<get-value1>' type=<root>.Value<T of <root>.Value, IT of <root>.Value> origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-value1> visibility:public modality:FINAL <> ($this:<root>.Value<T of <root>.Value, IT of <root>.Value>, <set-?>:T of <root>.Value) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:value1 visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Value
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value1 type:T of <root>.Value visibility:private' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Value<T of <root>.Value, IT of <root>.Value> declared in <root>.Value.<set-value1>' type=<root>.Value<T of <root>.Value, IT of <root>.Value> origin=null
|
||||
value: GET_VAR '<set-?>: T of <root>.Value declared in <root>.Value.<set-value1>' type=T of <root>.Value origin=null
|
||||
PROPERTY name:value2 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:value2 type:IT of <root>.Value visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'value2: IT of <root>.Value declared in <root>.Value.<init>' type=IT of <root>.Value origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value2> visibility:public modality:FINAL <> ($this:<root>.Value<T of <root>.Value, IT of <root>.Value>) returnType:IT of <root>.Value
|
||||
correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-value2> (): IT of <root>.Value declared in <root>.Value'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:IT of <root>.Value visibility:private [final]' type=IT of <root>.Value origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Value<T of <root>.Value, IT of <root>.Value> declared in <root>.Value.<get-value2>' type=<root>.Value<T of <root>.Value, IT of <root>.Value> 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 [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
|
||||
CLASS INTERFACE name:IDelegate1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IDelegate1<T1 of <root>.IDelegate1, R1 of <root>.IDelegate1>
|
||||
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:R1 index:1 variance: superTypes:[kotlin.Any?]
|
||||
FUN name:getValue visibility:public modality:ABSTRACT <> ($this:<root>.IDelegate1<T1 of <root>.IDelegate1, R1 of <root>.IDelegate1>, t:T1 of <root>.IDelegate1, p:kotlin.reflect.KProperty<*>) returnType:R1 of <root>.IDelegate1 [operator]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IDelegate1<T1 of <root>.IDelegate1, R1 of <root>.IDelegate1>
|
||||
VALUE_PARAMETER name:t index:0 type:T1 of <root>.IDelegate1
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
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
|
||||
CLASS INTERFACE name:IDelegate2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IDelegate2<T2 of <root>.IDelegate2, R2 of <root>.IDelegate2>
|
||||
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:R2 index:1 variance: superTypes:[kotlin.Any?]
|
||||
FUN name:getValue visibility:public modality:ABSTRACT <> ($this:<root>.IDelegate2<T2 of <root>.IDelegate2, R2 of <root>.IDelegate2>, t:T2 of <root>.IDelegate2, p:kotlin.reflect.KProperty<*>) returnType:R2 of <root>.IDelegate2 [operator]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IDelegate2<T2 of <root>.IDelegate2, R2 of <root>.IDelegate2>
|
||||
VALUE_PARAMETER name:t index:0 type:T2 of <root>.IDelegate2
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
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
|
||||
CLASS INTERFACE name:IR modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IR<R of <root>.IR>
|
||||
TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?]
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IR<R of <root>.IR>) returnType:R of <root>.IR
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IR<R of <root>.IR>
|
||||
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
|
||||
CLASS CLASS name:CR modality:FINAL visibility:public superTypes:[<root>.IR<R of <root>.CR>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CR<R of <root>.CR>
|
||||
TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?]
|
||||
CONSTRUCTOR visibility:public <> (r:R of <root>.CR) returnType:<root>.CR<R of <root>.CR> [primary]
|
||||
VALUE_PARAMETER name:r index:0 type:R of <root>.CR
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CR modality:FINAL visibility:public superTypes:[<root>.IR<R of <root>.CR>]'
|
||||
PROPERTY name:r visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:r type:R of <root>.CR visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'r: R of <root>.CR declared in <root>.CR.<init>' type=R of <root>.CR origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-r> visibility:public modality:FINAL <> ($this:<root>.CR<R of <root>.CR>) returnType:R of <root>.CR
|
||||
correspondingProperty: PROPERTY name:r visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.CR<R of <root>.CR>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-r> (): R of <root>.CR declared in <root>.CR'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:r type:R of <root>.CR visibility:private [final]' type=R of <root>.CR origin=null
|
||||
receiver: GET_VAR '<this>: <root>.CR<R of <root>.CR> declared in <root>.CR.<get-r>' type=<root>.CR<R of <root>.CR> origin=null
|
||||
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.CR<R of <root>.CR>) returnType:R of <root>.CR
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.CR<R of <root>.CR>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (): R of <root>.CR declared in <root>.CR'
|
||||
CALL 'public final fun <get-r> (): R of <root>.CR declared in <root>.CR' type=R of <root>.CR origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.CR<R of <root>.CR> declared in <root>.CR.foo' type=<root>.CR<R of <root>.CR> 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 [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
|
||||
CLASS CLASS name:P modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.P<P1 of <root>.P, P2 of <root>.P>
|
||||
TYPE_PARAMETER name:P1 index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:P2 index:1 variance: superTypes:[kotlin.Any?]
|
||||
CONSTRUCTOR visibility:public <> (p1:P1 of <root>.P, p2:P2 of <root>.P) returnType:<root>.P<P1 of <root>.P, P2 of <root>.P> [primary]
|
||||
VALUE_PARAMETER name:p1 index:0 type:P1 of <root>.P
|
||||
VALUE_PARAMETER name:p2 index:1 type:P2 of <root>.P
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:p1 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:p1 type:P1 of <root>.P visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'p1: P1 of <root>.P declared in <root>.P.<init>' type=P1 of <root>.P origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-p1> visibility:public modality:FINAL <> ($this:<root>.P<P1 of <root>.P, P2 of <root>.P>) returnType:P1 of <root>.P
|
||||
correspondingProperty: PROPERTY name:p1 visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.P<P1 of <root>.P, P2 of <root>.P>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-p1> (): P1 of <root>.P declared in <root>.P'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p1 type:P1 of <root>.P visibility:private [final]' type=P1 of <root>.P origin=null
|
||||
receiver: GET_VAR '<this>: <root>.P<P1 of <root>.P, P2 of <root>.P> declared in <root>.P.<get-p1>' type=<root>.P<P1 of <root>.P, P2 of <root>.P> origin=null
|
||||
PROPERTY name:p2 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:p2 type:P2 of <root>.P visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'p2: P2 of <root>.P declared in <root>.P.<init>' type=P2 of <root>.P origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-p2> visibility:public modality:FINAL <> ($this:<root>.P<P1 of <root>.P, P2 of <root>.P>) returnType:P2 of <root>.P
|
||||
correspondingProperty: PROPERTY name:p2 visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.P<P1 of <root>.P, P2 of <root>.P>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-p2> (): P2 of <root>.P declared in <root>.P'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p2 type:P2 of <root>.P visibility:private [final]' type=P2 of <root>.P origin=null
|
||||
receiver: GET_VAR '<this>: <root>.P<P1 of <root>.P, P2 of <root>.P> declared in <root>.P.<get-p2>' type=<root>.P<P1 of <root>.P, P2 of <root>.P> 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 [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
|
||||
PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val]
|
||||
FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.additionalText$delegate.<no name provided> visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=<root>.additionalText$delegate.<no name provided> origin=OBJECT_LITERAL
|
||||
CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.additionalText$delegate.<no name provided>
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.additionalText$delegate.<no name provided> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>>]'
|
||||
FUN name:qux11 visibility:public modality:FINAL <F11T> ($this:<root>.additionalText$delegate.<no name provided>, t:F11T of <root>.additionalText$delegate.<no name provided>.qux11) returnType:F11T of <root>.additionalText$delegate.<no name provided>.qux11
|
||||
TYPE_PARAMETER name:F11T index:0 variance: superTypes:[kotlin.Any?]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:F11T of <root>.additionalText$delegate.<no name provided>.qux11
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux11 <F11T> (t: F11T of <root>.additionalText$delegate.<no name provided>.qux11): F11T of <root>.additionalText$delegate.<no name provided>.qux11 declared in <root>.additionalText$delegate.<no name provided>'
|
||||
GET_VAR 't: F11T of <root>.additionalText$delegate.<no name provided>.qux11 declared in <root>.additionalText$delegate.<no name provided>.qux11' type=F11T of <root>.additionalText$delegate.<no name provided>.qux11 origin=null
|
||||
FUN name:qux12 visibility:public modality:FINAL <F12T> ($this:<root>.additionalText$delegate.<no name provided>, t:F12T of <root>.additionalText$delegate.<no name provided>.qux12) returnType:T of <root>.<get-additionalText>
|
||||
TYPE_PARAMETER name:F12T index:0 variance: superTypes:[<root>.IR<T of <root>.<get-additionalText>>]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:F12T of <root>.additionalText$delegate.<no name provided>.qux12
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux12 <F12T> (t: F12T of <root>.additionalText$delegate.<no name provided>.qux12): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>'
|
||||
CALL 'public abstract fun foo (): R of <root>.IR declared in <root>.IR' type=T of <root>.<get-additionalText> origin=null
|
||||
$this: GET_VAR 't: F12T of <root>.additionalText$delegate.<no name provided>.qux12 declared in <root>.additionalText$delegate.<no name provided>.qux12' type=F12T of <root>.additionalText$delegate.<no name provided>.qux12 origin=null
|
||||
PROPERTY name:deepO visibility:private modality:FINAL [delegated,val]
|
||||
FIELD PROPERTY_DELEGATE name:deepO$delegate type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> origin=OBJECT_LITERAL
|
||||
CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, T of <root>.<get-additionalText>>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, T of <root>.<get-additionalText>>]'
|
||||
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>, t:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p:kotlin.reflect.KProperty<*>) returnType:T of <root>.<get-additionalText>
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>'
|
||||
CALL 'public final fun <get-value1> (): T of <root>.Value declared in <root>.Value' type=T of <root>.<get-additionalText> origin=GET_PROPERTY
|
||||
$this: GET_VAR 't: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.getValue' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> origin=null
|
||||
FUN name:qux21 visibility:public modality:FINAL <F21T> ($this:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>, t:F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21) returnType:F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21
|
||||
TYPE_PARAMETER name:F21T index:0 variance: superTypes:[kotlin.Any?]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux21 <F21T> (t: F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21): F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21 declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>'
|
||||
GET_VAR 't: F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21 declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21' type=F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21 origin=null
|
||||
FUN name:qux22 visibility:public modality:FINAL <F22T> ($this:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>, t:F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22) returnType:T of <root>.<get-additionalText>
|
||||
TYPE_PARAMETER name:F22T index:0 variance: superTypes:[<root>.IR<T of <root>.<get-additionalText>>]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux22 <F22T> (t: F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>'
|
||||
CALL 'public abstract fun foo (): R of <root>.IR declared in <root>.IR' type=T of <root>.<get-additionalText> origin=null
|
||||
$this: GET_VAR 't: F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22 declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22' type=F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22 origin=null
|
||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> origin=OBJECT_LITERAL
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-deepO> visibility:public modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided>, $receiver:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>) returnType:T of <root>.<get-additionalText>
|
||||
correspondingProperty: PROPERTY name:deepO visibility:private modality:FINAL [delegated,val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-deepO> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>'
|
||||
CALL 'public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>' type=T of <root>.<get-additionalText> origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:deepO$delegate type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> visibility:private [final]' type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> origin=GET_PROPERTY
|
||||
t: ERROR_CALL 'Unresolved reference: this@R|/anonymous.deepO|' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
p: PROPERTY_REFERENCE 'private final deepO: T of <root>.<get-additionalText> [delegated,val]' field='FIELD PROPERTY_DELEGATE name:deepO$delegate type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> visibility:private [final]' getter='public final fun <get-deepO> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty<*> origin=null
|
||||
PROPERTY name:deepK visibility:private modality:FINAL [delegated,val]
|
||||
FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> origin=OBJECT_LITERAL
|
||||
CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, T of <root>.<get-additionalText>>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, T of <root>.<get-additionalText>>]'
|
||||
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>, t:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p:kotlin.reflect.KProperty<*>) returnType:T of <root>.<get-additionalText>
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>'
|
||||
CALL 'public final fun foo (): R of <root>.CR declared in <root>.CR' type=T of <root>.<get-additionalText> origin=null
|
||||
$this: CALL 'public final fun <get-value2> (): IT of <root>.Value declared in <root>.Value' type=<root>.CR<T of <root>.<get-additionalText>> origin=GET_PROPERTY
|
||||
$this: GET_VAR 't: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>.getValue' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> origin=null
|
||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> origin=OBJECT_LITERAL
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-deepK> visibility:public modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided>, $receiver:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>) returnType:T of <root>.<get-additionalText>
|
||||
correspondingProperty: PROPERTY name:deepK visibility:private modality:FINAL [delegated,val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-deepK> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>'
|
||||
CALL 'public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>' type=T of <root>.<get-additionalText> origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> visibility:private [final]' type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> origin=GET_PROPERTY
|
||||
t: ERROR_CALL 'Unresolved reference: this@R|/anonymous.deepK|' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
p: PROPERTY_REFERENCE 'private final deepK: T of <root>.<get-additionalText> [delegated,val]' field='FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> visibility:private [final]' getter='public final fun <get-deepK> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty<*> origin=null
|
||||
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided>, t:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p:kotlin.reflect.KProperty<*>) returnType:<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>
|
||||
VALUE_PARAMETER name:t index:0 type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>.additionalText$delegate.<no name provided>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (p1: P1 of <root>.P, p2: P2 of <root>.P) [primary] declared in <root>.P' type=<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> origin=null
|
||||
<class: P1>: T of <root>.<get-additionalText>
|
||||
<class: P2>: T of <root>.<get-additionalText>
|
||||
p1: CALL 'public final fun <get-deepO> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' type=T of <root>.<get-additionalText> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.additionalText$delegate.<no name provided> declared in <root>.additionalText$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided> origin=null
|
||||
$receiver: GET_VAR 't: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> declared in <root>.additionalText$delegate.<no name provided>.getValue' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> origin=null
|
||||
p2: CALL 'public final fun <get-deepK> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' type=T of <root>.<get-additionalText> origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.additionalText$delegate.<no name provided> declared in <root>.additionalText$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided> origin=null
|
||||
$receiver: GET_VAR 't: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> declared in <root>.additionalText$delegate.<no name provided>.getValue' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> origin=null
|
||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.additionalText$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided> origin=OBJECT_LITERAL
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-additionalText> visibility:public modality:FINAL <T> ($receiver:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>) returnType:<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>
|
||||
correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val]
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-additionalText> <T> (): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>'
|
||||
CALL 'public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>.additionalText$delegate.<no name provided>' type=<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.additionalText$delegate.<no name provided> visibility:private [final,static]' type=<root>.additionalText$delegate.<no name provided> origin=GET_PROPERTY
|
||||
t: ERROR_CALL 'Unresolved reference: this@R|/additionalText|' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
p: PROPERTY_REFERENCE 'public final additionalText: <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> [delegated,val]' field='FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.additionalText$delegate.<no name provided> visibility:private [final,static]' getter='public final fun <get-additionalText> <T> (): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=null
|
||||
@@ -0,0 +1,48 @@
|
||||
import kotlin.reflect.KProperty1
|
||||
import kotlin.reflect.KMutableProperty1
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
class Value<T, IT: IR<T>>(var value1: T, val value2: IT)
|
||||
|
||||
interface IDelegate1<T1, R1> {
|
||||
operator fun getValue(t: T1, p: KProperty<*>): R1
|
||||
}
|
||||
|
||||
interface IDelegate2<T2, R2> {
|
||||
operator fun getValue(t: T2, p: KProperty<*>): R2
|
||||
}
|
||||
|
||||
interface IR<R> {
|
||||
fun foo(): R
|
||||
}
|
||||
|
||||
class CR<R>(val r: R) : IR<R> {
|
||||
override fun foo(): R = r
|
||||
}
|
||||
|
||||
class P<P1, P2>(val p1: P1, val p2: P2)
|
||||
|
||||
val <T> Value<T, CR<T>>.additionalText by object : IDelegate1<Value<T, CR<T>>, P<T, T>> {
|
||||
|
||||
fun <F11T> qux11(t: F11T): F11T = t
|
||||
fun <F12T: IR<T>> qux12(t: F12T): T = t.foo()
|
||||
|
||||
private val Value<T, CR<T>>.deepO by object : IDelegate1<Value<T, CR<T>>, T> {
|
||||
override fun getValue(t: Value<T, CR<T>>, p: KProperty<*>): T {
|
||||
return t.value1
|
||||
}
|
||||
|
||||
fun <F21T> qux21(t: F21T): F21T = t
|
||||
fun <F22T: IR<T>> qux22(t: F22T): T = t.foo()
|
||||
}
|
||||
|
||||
private val Value<T, CR<T>>.deepK by object : IDelegate1<Value<T, CR<T>>, T> {
|
||||
override fun getValue(t: Value<T, CR<T>>, p: KProperty<*>): T {
|
||||
return t.value2.foo()
|
||||
}
|
||||
}
|
||||
|
||||
override fun getValue(t: Value<T, CR<T>>, p: KProperty<*>): P<T, T> {
|
||||
return P(t.deepO, t.deepK)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,379 @@
|
||||
FILE fqName:<root> fileName:/genericDelegatedDeepProperty.kt
|
||||
CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:IT index:1 variance: superTypes:[<root>.IR<T of <root>.Value>]
|
||||
CONSTRUCTOR visibility:public <> (value1:T of <root>.Value, value2:IT of <root>.Value) returnType:<root>.Value<T of <root>.Value, IT of <root>.Value> [primary]
|
||||
VALUE_PARAMETER name:value1 index:0 type:T of <root>.Value
|
||||
VALUE_PARAMETER name:value2 index:1 type:IT of <root>.Value
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:value1 visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:value1 type:T of <root>.Value visibility:private
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'value1: T of <root>.Value declared in <root>.Value.<init>' type=T of <root>.Value origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value1> visibility:public modality:FINAL <> ($this:<root>.Value<T of <root>.Value, IT of <root>.Value>) returnType:T of <root>.Value
|
||||
correspondingProperty: PROPERTY name:value1 visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-value1> (): T of <root>.Value declared in <root>.Value'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value1 type:T of <root>.Value visibility:private' type=T of <root>.Value origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Value<T of <root>.Value, IT of <root>.Value> declared in <root>.Value.<get-value1>' type=<root>.Value<T of <root>.Value, IT of <root>.Value> origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-value1> visibility:public modality:FINAL <> ($this:<root>.Value<T of <root>.Value, IT of <root>.Value>, <set-?>:T of <root>.Value) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:value1 visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Value
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value1 type:T of <root>.Value visibility:private' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Value<T of <root>.Value, IT of <root>.Value> declared in <root>.Value.<set-value1>' type=<root>.Value<T of <root>.Value, IT of <root>.Value> origin=null
|
||||
value: GET_VAR '<set-?>: T of <root>.Value declared in <root>.Value.<set-value1>' type=T of <root>.Value origin=null
|
||||
PROPERTY name:value2 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:value2 type:IT of <root>.Value visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'value2: IT of <root>.Value declared in <root>.Value.<init>' type=IT of <root>.Value origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value2> visibility:public modality:FINAL <> ($this:<root>.Value<T of <root>.Value, IT of <root>.Value>) returnType:IT of <root>.Value
|
||||
correspondingProperty: PROPERTY name:value2 visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.Value, IT of <root>.Value>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-value2> (): IT of <root>.Value declared in <root>.Value'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value2 type:IT of <root>.Value visibility:private [final]' type=IT of <root>.Value origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Value<T of <root>.Value, IT of <root>.Value> declared in <root>.Value.<get-value2>' type=<root>.Value<T of <root>.Value, IT of <root>.Value> 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 [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
|
||||
CLASS INTERFACE name:IDelegate1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IDelegate1<T1 of <root>.IDelegate1, R1 of <root>.IDelegate1>
|
||||
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:R1 index:1 variance: superTypes:[kotlin.Any?]
|
||||
FUN name:getValue visibility:public modality:ABSTRACT <> ($this:<root>.IDelegate1<T1 of <root>.IDelegate1, R1 of <root>.IDelegate1>, t:T1 of <root>.IDelegate1, p:kotlin.reflect.KProperty<*>) returnType:R1 of <root>.IDelegate1 [operator]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IDelegate1<T1 of <root>.IDelegate1, R1 of <root>.IDelegate1>
|
||||
VALUE_PARAMETER name:t index:0 type:T1 of <root>.IDelegate1
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
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
|
||||
CLASS INTERFACE name:IDelegate2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IDelegate2<T2 of <root>.IDelegate2, R2 of <root>.IDelegate2>
|
||||
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:R2 index:1 variance: superTypes:[kotlin.Any?]
|
||||
FUN name:getValue visibility:public modality:ABSTRACT <> ($this:<root>.IDelegate2<T2 of <root>.IDelegate2, R2 of <root>.IDelegate2>, t:T2 of <root>.IDelegate2, p:kotlin.reflect.KProperty<*>) returnType:R2 of <root>.IDelegate2 [operator]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IDelegate2<T2 of <root>.IDelegate2, R2 of <root>.IDelegate2>
|
||||
VALUE_PARAMETER name:t index:0 type:T2 of <root>.IDelegate2
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
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
|
||||
CLASS INTERFACE name:IR modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IR<R of <root>.IR>
|
||||
TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?]
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IR<R of <root>.IR>) returnType:R of <root>.IR
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IR<R of <root>.IR>
|
||||
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
|
||||
CLASS CLASS name:CR modality:FINAL visibility:public superTypes:[<root>.IR<R of <root>.CR>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CR<R of <root>.CR>
|
||||
TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?]
|
||||
CONSTRUCTOR visibility:public <> (r:R of <root>.CR) returnType:<root>.CR<R of <root>.CR> [primary]
|
||||
VALUE_PARAMETER name:r index:0 type:R of <root>.CR
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CR modality:FINAL visibility:public superTypes:[<root>.IR<R of <root>.CR>]'
|
||||
PROPERTY name:r visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:r type:R of <root>.CR visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'r: R of <root>.CR declared in <root>.CR.<init>' type=R of <root>.CR origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-r> visibility:public modality:FINAL <> ($this:<root>.CR<R of <root>.CR>) returnType:R of <root>.CR
|
||||
correspondingProperty: PROPERTY name:r visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.CR<R of <root>.CR>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-r> (): R of <root>.CR declared in <root>.CR'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:r type:R of <root>.CR visibility:private [final]' type=R of <root>.CR origin=null
|
||||
receiver: GET_VAR '<this>: <root>.CR<R of <root>.CR> declared in <root>.CR.<get-r>' type=<root>.CR<R of <root>.CR> origin=null
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.CR<R of <root>.CR>) returnType:R of <root>.CR
|
||||
overridden:
|
||||
public abstract fun foo (): R of <root>.IR declared in <root>.IR
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.CR<R of <root>.CR>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (): R of <root>.CR declared in <root>.CR'
|
||||
CALL 'public final fun <get-r> (): R of <root>.CR declared in <root>.CR' type=R of <root>.CR origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.CR<R of <root>.CR> declared in <root>.CR.foo' type=<root>.CR<R of <root>.CR> 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>.IR
|
||||
$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>.IR
|
||||
$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>.IR
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:P modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.P<P1 of <root>.P, P2 of <root>.P>
|
||||
TYPE_PARAMETER name:P1 index:0 variance: superTypes:[kotlin.Any?]
|
||||
TYPE_PARAMETER name:P2 index:1 variance: superTypes:[kotlin.Any?]
|
||||
CONSTRUCTOR visibility:public <> (p1:P1 of <root>.P, p2:P2 of <root>.P) returnType:<root>.P<P1 of <root>.P, P2 of <root>.P> [primary]
|
||||
VALUE_PARAMETER name:p1 index:0 type:P1 of <root>.P
|
||||
VALUE_PARAMETER name:p2 index:1 type:P2 of <root>.P
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:p1 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:p1 type:P1 of <root>.P visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'p1: P1 of <root>.P declared in <root>.P.<init>' type=P1 of <root>.P origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-p1> visibility:public modality:FINAL <> ($this:<root>.P<P1 of <root>.P, P2 of <root>.P>) returnType:P1 of <root>.P
|
||||
correspondingProperty: PROPERTY name:p1 visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.P<P1 of <root>.P, P2 of <root>.P>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-p1> (): P1 of <root>.P declared in <root>.P'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p1 type:P1 of <root>.P visibility:private [final]' type=P1 of <root>.P origin=null
|
||||
receiver: GET_VAR '<this>: <root>.P<P1 of <root>.P, P2 of <root>.P> declared in <root>.P.<get-p1>' type=<root>.P<P1 of <root>.P, P2 of <root>.P> origin=null
|
||||
PROPERTY name:p2 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:p2 type:P2 of <root>.P visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'p2: P2 of <root>.P declared in <root>.P.<init>' type=P2 of <root>.P origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-p2> visibility:public modality:FINAL <> ($this:<root>.P<P1 of <root>.P, P2 of <root>.P>) returnType:P2 of <root>.P
|
||||
correspondingProperty: PROPERTY name:p2 visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.P<P1 of <root>.P, P2 of <root>.P>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-p2> (): P2 of <root>.P declared in <root>.P'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:p2 type:P2 of <root>.P visibility:private [final]' type=P2 of <root>.P origin=null
|
||||
receiver: GET_VAR '<this>: <root>.P<P1 of <root>.P, P2 of <root>.P> declared in <root>.P.<get-p2>' type=<root>.P<P1 of <root>.P, P2 of <root>.P> 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 [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
|
||||
PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val]
|
||||
FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.additionalText$delegate.<no name provided><kotlin.Any?> visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=OBJECT_LITERAL
|
||||
CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, <root>.P<kotlin.Any?, kotlin.Any?>>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.additionalText$delegate.<no name provided><kotlin.Any?>
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.additionalText$delegate.<no name provided><kotlin.Any?> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, <root>.P<kotlin.Any?, kotlin.Any?>>]'
|
||||
FUN name:qux11 visibility:public modality:FINAL <F11T> ($this:<root>.additionalText$delegate.<no name provided><kotlin.Any?>, t:F11T of <root>.additionalText$delegate.<no name provided>.qux11) returnType:F11T of <root>.additionalText$delegate.<no name provided>.qux11
|
||||
TYPE_PARAMETER name:F11T index:0 variance: superTypes:[kotlin.Any?]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:F11T of <root>.additionalText$delegate.<no name provided>.qux11
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux11 <F11T> (t: F11T of <root>.additionalText$delegate.<no name provided>.qux11): F11T of <root>.additionalText$delegate.<no name provided>.qux11 declared in <root>.additionalText$delegate.<no name provided>'
|
||||
GET_VAR 't: F11T of <root>.additionalText$delegate.<no name provided>.qux11 declared in <root>.additionalText$delegate.<no name provided>.qux11' type=F11T of <root>.additionalText$delegate.<no name provided>.qux11 origin=null
|
||||
FUN name:qux12 visibility:public modality:FINAL <F12T> ($this:<root>.additionalText$delegate.<no name provided><kotlin.Any?>, t:F12T of <root>.additionalText$delegate.<no name provided>.qux12) returnType:kotlin.Any?
|
||||
TYPE_PARAMETER name:F12T index:0 variance: superTypes:[<root>.IR<kotlin.Any?>]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:F12T of <root>.additionalText$delegate.<no name provided>.qux12
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux12 <F12T> (t: F12T of <root>.additionalText$delegate.<no name provided>.qux12): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>'
|
||||
TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'public abstract fun foo (): R of <root>.IR declared in <root>.IR' type=kotlin.Any? origin=null
|
||||
$this: GET_VAR 't: F12T of <root>.additionalText$delegate.<no name provided>.qux12 declared in <root>.additionalText$delegate.<no name provided>.qux12' type=F12T of <root>.additionalText$delegate.<no name provided>.qux12 origin=null
|
||||
PROPERTY name:deepO visibility:private modality:FINAL [delegated,val]
|
||||
FIELD PROPERTY_DELEGATE name:deepO$delegate type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?> origin=OBJECT_LITERAL
|
||||
CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, kotlin.Any?>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, kotlin.Any?>]'
|
||||
FUN name:getValue visibility:public modality:OPEN <> ($this:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>, t:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p:kotlin.reflect.KProperty<*>) returnType:kotlin.Any? [operator]
|
||||
overridden:
|
||||
public abstract fun getValue (t: T1 of <root>.IDelegate1, p: kotlin.reflect.KProperty<*>): R1 of <root>.IDelegate1 [operator] declared in <root>.IDelegate1
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun getValue (t: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p: kotlin.reflect.KProperty<*>): kotlin.Any? [operator] declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>'
|
||||
TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'public final fun <get-value1> (): T of <root>.Value declared in <root>.Value' type=kotlin.Any? origin=GET_PROPERTY
|
||||
$this: GET_VAR 't: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.getValue' type=<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> origin=null
|
||||
FUN name:qux21 visibility:public modality:FINAL <F21T> ($this:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>, t:F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21) returnType:F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21
|
||||
TYPE_PARAMETER name:F21T index:0 variance: superTypes:[kotlin.Any?]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux21 <F21T> (t: F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21): F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21 declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>'
|
||||
GET_VAR 't: F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21 declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21' type=F21T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux21 origin=null
|
||||
FUN name:qux22 visibility:public modality:FINAL <F22T> ($this:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>, t:F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22) returnType:kotlin.Any?
|
||||
TYPE_PARAMETER name:F22T index:0 variance: superTypes:[<root>.IR<kotlin.Any?>]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux22 <F22T> (t: F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>'
|
||||
TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'public abstract fun foo (): R of <root>.IR declared in <root>.IR' type=kotlin.Any? origin=null
|
||||
$this: GET_VAR 't: F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22 declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22' type=F22T of <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>.qux22 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>.IDelegate1
|
||||
$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>.IDelegate1
|
||||
$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>.IDelegate1
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?> origin=OBJECT_LITERAL
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-deepO> visibility:private modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided><kotlin.Any?>, $receiver:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>) returnType:kotlin.Any?
|
||||
correspondingProperty: PROPERTY name:deepO visibility:private modality:FINAL [delegated,val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided><kotlin.Any?>
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-deepO> (): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>'
|
||||
TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'public open fun getValue (t: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p: kotlin.reflect.KProperty<*>): kotlin.Any? [operator] declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>' type=kotlin.Any? origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:deepO$delegate type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?> visibility:private [final]' type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.additionalText$delegate.<no name provided><kotlin.Any?> declared in <root>.additionalText$delegate.<no name provided>.<get-deepO>' type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
t: GET_VAR '<this>: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> declared in <root>.additionalText$delegate.<no name provided>.<get-deepO>' type=<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> origin=null
|
||||
p: PROPERTY_REFERENCE 'private final deepO: kotlin.Any? [delegated,val]' field=null getter='private final fun <get-deepO> (): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty2<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, <root>.additionalText$delegate.<no name provided><kotlin.Any?>, kotlin.Any?> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
||||
PROPERTY name:deepK visibility:private modality:FINAL [delegated,val]
|
||||
FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
BLOCK type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?> origin=OBJECT_LITERAL
|
||||
CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, kotlin.Any?>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?>
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?> [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IDelegate1<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, kotlin.Any?>]'
|
||||
FUN name:getValue visibility:public modality:OPEN <> ($this:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?>, t:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p:kotlin.reflect.KProperty<*>) returnType:kotlin.Any? [operator]
|
||||
overridden:
|
||||
public abstract fun getValue (t: T1 of <root>.IDelegate1, p: kotlin.reflect.KProperty<*>): R1 of <root>.IDelegate1 [operator] declared in <root>.IDelegate1
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun getValue (t: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p: kotlin.reflect.KProperty<*>): kotlin.Any? [operator] declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>'
|
||||
TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'public open fun foo (): R of <root>.CR declared in <root>.CR' type=kotlin.Any? origin=null
|
||||
$this: CALL 'public final fun <get-value2> (): IT of <root>.Value declared in <root>.Value' type=<root>.CR<kotlin.Any?> origin=GET_PROPERTY
|
||||
$this: GET_VAR 't: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>.getValue' type=<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.IDelegate1
|
||||
$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>.IDelegate1
|
||||
$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>.IDelegate1
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?> origin=OBJECT_LITERAL
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-deepK> visibility:private modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided><kotlin.Any?>, $receiver:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>) returnType:kotlin.Any?
|
||||
correspondingProperty: PROPERTY name:deepK visibility:private modality:FINAL [delegated,val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided><kotlin.Any?>
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-deepK> (): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>'
|
||||
TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'public open fun getValue (t: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p: kotlin.reflect.KProperty<*>): kotlin.Any? [operator] declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>' type=kotlin.Any? origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?> visibility:private [final]' type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.additionalText$delegate.<no name provided><kotlin.Any?> declared in <root>.additionalText$delegate.<no name provided>.<get-deepK>' type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
t: GET_VAR '<this>: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> declared in <root>.additionalText$delegate.<no name provided>.<get-deepK>' type=<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> origin=null
|
||||
p: PROPERTY_REFERENCE 'private final deepK: kotlin.Any? [delegated,val]' field=null getter='private final fun <get-deepK> (): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty2<<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, <root>.additionalText$delegate.<no name provided><kotlin.Any?>, kotlin.Any?> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
||||
FUN name:getValue visibility:public modality:OPEN <> ($this:<root>.additionalText$delegate.<no name provided><kotlin.Any?>, t:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p:kotlin.reflect.KProperty<*>) returnType:<root>.P<kotlin.Any?, kotlin.Any?> [operator]
|
||||
overridden:
|
||||
public abstract fun getValue (t: T1 of <root>.IDelegate1, p: kotlin.reflect.KProperty<*>): R1 of <root>.IDelegate1 [operator] declared in <root>.IDelegate1
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided><kotlin.Any?>
|
||||
VALUE_PARAMETER name:t index:0 type:<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>
|
||||
VALUE_PARAMETER name:p index:1 type:kotlin.reflect.KProperty<*>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun getValue (t: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p: kotlin.reflect.KProperty<*>): <root>.P<kotlin.Any?, kotlin.Any?> [operator] declared in <root>.additionalText$delegate.<no name provided>'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (p1: P1 of <root>.P, p2: P2 of <root>.P) [primary] declared in <root>.P' type=<root>.P<kotlin.Any?, kotlin.Any?> origin=null
|
||||
<class: P1>: kotlin.Any?
|
||||
<class: P2>: kotlin.Any?
|
||||
p1: TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'private final fun <get-deepO> (): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>' type=kotlin.Any? origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.additionalText$delegate.<no name provided><kotlin.Any?> declared in <root>.additionalText$delegate.<no name provided>.getValue' type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
$receiver: GET_VAR 't: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> declared in <root>.additionalText$delegate.<no name provided>.getValue' type=<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> origin=null
|
||||
p2: TYPE_OP type=kotlin.Any? origin=IMPLICIT_CAST typeOperand=kotlin.Any?
|
||||
CALL 'private final fun <get-deepK> (): kotlin.Any? declared in <root>.additionalText$delegate.<no name provided>' type=kotlin.Any? origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.additionalText$delegate.<no name provided><kotlin.Any?> declared in <root>.additionalText$delegate.<no name provided>.getValue' type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
$receiver: GET_VAR 't: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> declared in <root>.additionalText$delegate.<no name provided>.getValue' type=<root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>> origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.IDelegate1
|
||||
$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>.IDelegate1
|
||||
$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>.IDelegate1
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.additionalText$delegate.<no name provided>' type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=OBJECT_LITERAL
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-additionalText> visibility:public modality:FINAL <T> ($receiver:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>) returnType:<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>
|
||||
correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val]
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-additionalText> <T> (): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>'
|
||||
CALL 'public open fun getValue (t: <root>.Value<kotlin.Any?, <root>.CR<kotlin.Any?>>, p: kotlin.reflect.KProperty<*>): <root>.P<kotlin.Any?, kotlin.Any?> [operator] declared in <root>.additionalText$delegate.<no name provided>' type=<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.additionalText$delegate.<no name provided><kotlin.Any?> visibility:private [final,static]' type=<root>.additionalText$delegate.<no name provided><kotlin.Any?> origin=null
|
||||
t: GET_VAR '<this>: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> declared in <root>.<get-additionalText>' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>> origin=null
|
||||
p: PROPERTY_REFERENCE 'public final additionalText: <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> [delegated,val]' field=null getter='public final fun <get-additionalText> <T> (): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>' setter=null type=kotlin.reflect.KProperty1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
||||
+5
@@ -14893,6 +14893,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ir/serializationRegressions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||
}
|
||||
|
||||
@TestMetadata("deepGenericDelegatedProperty.kt")
|
||||
public void testDeepGenericDelegatedProperty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/deepGenericDelegatedProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("dispatchReceiverValue.kt")
|
||||
public void testDispatchReceiverValue() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/dispatchReceiverValue.kt");
|
||||
|
||||
+5
@@ -14898,6 +14898,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ir/serializationRegressions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||
}
|
||||
|
||||
@TestMetadata("deepGenericDelegatedProperty.kt")
|
||||
public void testDeepGenericDelegatedProperty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/deepGenericDelegatedProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("dispatchReceiverValue.kt")
|
||||
public void testDispatchReceiverValue() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/dispatchReceiverValue.kt");
|
||||
|
||||
+5
@@ -13748,6 +13748,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ir/serializationRegressions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@TestMetadata("deepGenericDelegatedProperty.kt")
|
||||
public void testDeepGenericDelegatedProperty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/deepGenericDelegatedProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("dispatchReceiverValue.kt")
|
||||
public void testDispatchReceiverValue() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/dispatchReceiverValue.kt");
|
||||
|
||||
@@ -1876,6 +1876,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
||||
runTest("compiler/testData/ir/irText/types/genericFunWithStar.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericDelegatedDeepProperty.kt")
|
||||
public void testGenericDelegatedDeepProperty() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/types/genericDelegatedDeepProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericPropertyReferenceType.kt")
|
||||
public void testGenericPropertyReferenceType() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/types/genericPropertyReferenceType.kt");
|
||||
|
||||
Generated
+5
@@ -11908,6 +11908,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ir/serializationRegressions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@TestMetadata("deepGenericDelegatedProperty.kt")
|
||||
public void testDeepGenericDelegatedProperty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/deepGenericDelegatedProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("dispatchReceiverValue.kt")
|
||||
public void testDispatchReceiverValue() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/dispatchReceiverValue.kt");
|
||||
|
||||
+5
@@ -11973,6 +11973,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/ir/serializationRegressions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true);
|
||||
}
|
||||
|
||||
@TestMetadata("deepGenericDelegatedProperty.kt")
|
||||
public void testDeepGenericDelegatedProperty() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/deepGenericDelegatedProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("dispatchReceiverValue.kt")
|
||||
public void testDispatchReceiverValue() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/ir/serializationRegressions/dispatchReceiverValue.kt");
|
||||
|
||||
Reference in New Issue
Block a user