[FIR IR] support FirReceiverParameter

^KT-54417
This commit is contained in:
Dmitrii Gridin
2022-10-18 12:28:08 +02:00
committed by Space Team
parent 07aec4de8f
commit 33281770c7
9 changed files with 27 additions and 133 deletions
@@ -1,65 +0,0 @@
FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
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 kotlin.Annotation
$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 kotlin.Annotation
$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 kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> () returnType:<root>.A [primary]
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]'
FUN name:f visibility:public modality:FINAL <> ($this:<root>.A, $receiver:@[Ann] kotlin.String) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:<root>.A
$receiver: VALUE_PARAMETER name:<this> type:@[Ann] kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun f (): kotlin.String declared in <root>.A'
CONST String type=kotlin.String value=""
PROPERTY name:p visibility:public modality:FINAL [val]
FUN name:<get-p> visibility:public modality:FINAL <> ($this:<root>.A, $receiver:@[Ann] kotlin.String?) returnType:kotlin.String
correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.A
$receiver: VALUE_PARAMETER name:<this> type:@[Ann] kotlin.String?
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-p> (): kotlin.String declared in <root>.A'
CONST String type=kotlin.String value=""
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
FUN name:topLevelF visibility:public modality:FINAL <> ($receiver:@[Ann] kotlin.String?) returnType:kotlin.String
$receiver: VALUE_PARAMETER name:<this> type:@[Ann] kotlin.String?
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun topLevelF (): kotlin.String declared in <root>'
CONST String type=kotlin.String value=""
PROPERTY name:topLevelP visibility:public modality:FINAL [val]
FUN name:<get-topLevelP> visibility:public modality:FINAL <> ($receiver:@[Ann] kotlin.String) returnType:kotlin.String
correspondingProperty: PROPERTY name:topLevelP visibility:public modality:FINAL [val]
$receiver: VALUE_PARAMETER name:<this> type:@[Ann] kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-topLevelP> (): kotlin.String declared in <root>'
CONST String type=kotlin.String value=""
@@ -1,35 +0,0 @@
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
class A {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
fun @Ann String.f(): String {
return ""
}
val @Ann String?.p: String
get(): String {
return ""
}
}
fun @Ann String?.topLevelF(): String {
return ""
}
val @Ann String.topLevelP: String
get(): String {
return ""
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
annotation class Ann
class A {