FIR2IR: Fix case of using context receivers in property initializers
This commit is contained in:
@@ -37,10 +37,10 @@ FILE fqName:<root> fileName:/class.kt
|
||||
VALUE_PARAMETER name:arg index:1 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
SET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:<root>.Outer visibility:private [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Inner declared in <root>.Inner' type=<root>.Inner origin=null
|
||||
value: GET_VAR '_context_receiver_0: <root>.Outer declared in <root>.Inner.<init>' type=<root>.Outer origin=null
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
FUN name:bar visibility:public modality:FINAL <> ($this:<root>.Inner) returnType:kotlin.Int
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Inner
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -15,9 +15,9 @@ class Inner {
|
||||
private /* final field */ val contextReceiverField0: Outer
|
||||
constructor(_context_receiver_0: Outer, arg: Any) /* primary */ {
|
||||
super/*Any*/()
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
/* <init>() */
|
||||
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
}
|
||||
|
||||
fun bar(): Int {
|
||||
|
||||
+1
-1
@@ -38,10 +38,10 @@ FILE fqName:<root> fileName:/contextualPrimaryConstructorWithParams.kt
|
||||
VALUE_PARAMETER name:k index:1 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OK modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
SET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:<root>.O visibility:private [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.OK declared in <root>.OK' type=<root>.OK origin=null
|
||||
value: GET_VAR '_context_receiver_0: <root>.O declared in <root>.OK.<init>' type=<root>.O origin=null
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OK modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:k visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
|
||||
+1
-1
@@ -15,9 +15,9 @@ class OK {
|
||||
private /* final field */ val contextReceiverField0: O
|
||||
constructor(_context_receiver_0: O, k: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
/* <init>() */
|
||||
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
}
|
||||
|
||||
val k: String
|
||||
|
||||
Vendored
+1
-1
@@ -88,10 +88,10 @@ FILE fqName:<root> fileName:/delegatedPropertiesOperators.kt
|
||||
VALUE_PARAMETER name:_context_receiver_0 index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Result modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
SET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:kotlin.Int visibility:private [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Result declared in <root>.Result' type=<root>.Result origin=null
|
||||
value: GET_VAR '_context_receiver_0: kotlin.Int declared in <root>.Result.<init>' type=kotlin.Int origin=null
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Result modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [delegated,var]
|
||||
FIELD PROPERTY_DELEGATE name:s$delegate type:<root>.Delegate visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
|
||||
Vendored
+1
-1
@@ -31,9 +31,9 @@ class Result {
|
||||
private /* final field */ val contextReceiverField0: Int
|
||||
constructor(_context_receiver_0: Int) /* primary */ {
|
||||
super/*Any*/()
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
/* <init>() */
|
||||
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
}
|
||||
|
||||
var s: String /* by */
|
||||
|
||||
+2
-2
@@ -7,10 +7,10 @@ FILE fqName:<root> fileName:/genericOuterClass.kt
|
||||
VALUE_PARAMETER name:_context_receiver_0 index:0 type:T of <root>.A
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
SET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:T of <root>.A visibility:private [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.A<T of <root>.A> declared in <root>.A' type=<root>.A<T of <root>.A> origin=null
|
||||
value: GET_VAR '_context_receiver_0: T of <root>.A declared in <root>.A.<init>' type=T of <root>.A origin=null
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
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
|
||||
@@ -32,10 +32,10 @@ FILE fqName:<root> fileName:/genericOuterClass.kt
|
||||
VALUE_PARAMETER name:_context_receiver_0 index:0 type:kotlin.collections.Collection<P of <root>.B>
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
SET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:kotlin.collections.Collection<P of <root>.B> visibility:private [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.B<P of <root>.B> declared in <root>.B' type=<root>.B<P of <root>.B> origin=null
|
||||
value: GET_VAR '_context_receiver_0: kotlin.collections.Collection<P of <root>.B> declared in <root>.B.<init>' type=kotlin.collections.Collection<P of <root>.B> origin=null
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
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
|
||||
|
||||
+2
-2
@@ -2,9 +2,9 @@ class A<T : Any?> {
|
||||
private /* final field */ val contextReceiverField0: T
|
||||
constructor(_context_receiver_0: T) /* primary */ {
|
||||
super/*Any*/()
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
/* <init>() */
|
||||
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,9 +13,9 @@ class B<P : Any?> {
|
||||
private /* final field */ val contextReceiverField0: Collection<P>
|
||||
constructor(_context_receiver_0: Collection<P>) /* primary */ {
|
||||
super/*Any*/()
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
/* <init>() */
|
||||
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -197,10 +197,10 @@ FILE fqName:<root> fileName:/iteratorOperator.kt
|
||||
VALUE_PARAMETER name:counter index:1 type:<root>.Counter
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CounterIterator modality:FINAL visibility:public superTypes:[kotlin.collections.Iterator<kotlin.Int>]'
|
||||
SET_FIELD 'FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:<root>.CounterConfig visibility:private [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.CounterIterator declared in <root>.CounterIterator' type=<root>.CounterIterator origin=null
|
||||
value: GET_VAR '_context_receiver_0: <root>.CounterConfig declared in <root>.CounterIterator.<init>' type=<root>.CounterConfig origin=null
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CounterIterator modality:FINAL visibility:public superTypes:[kotlin.collections.Iterator<kotlin.Int>]'
|
||||
PROPERTY name:counter visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:counter type:<root>.Counter visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
|
||||
+1
-1
@@ -89,9 +89,9 @@ class CounterIterator : Iterator<Int> {
|
||||
private /* final field */ val contextReceiverField0: CounterConfig
|
||||
constructor(_context_receiver_0: CounterConfig, counter: Counter) /* primary */ {
|
||||
super/*Any*/()
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
/* <init>() */
|
||||
|
||||
<this>.#contextReceiverField0 = _context_receiver_0
|
||||
}
|
||||
|
||||
private val counter: Counter
|
||||
|
||||
Reference in New Issue
Block a user