FIR: introduce delegate field initializers
Before this commit we initialized delegate fields in primary constructor, that could provoke NPE in case delegate is used in initializer of some property backing field. Now we initialize delegate fields directly instead.
This commit is contained in:
@@ -56,10 +56,6 @@ class AnnotationLoader {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
<this>.#<$$delegate_0> = visitor
|
||||
}
|
||||
|
||||
override fun visit() {
|
||||
}
|
||||
|
||||
override fun visitArray(): Visitor? {
|
||||
@@ -70,7 +66,9 @@ class AnnotationLoader {
|
||||
return <this>.#<$$delegate_0>.visitAnnotation()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: Visitor
|
||||
local /* final field */ val <$$delegate_0>: Visitor = visitor
|
||||
override fun visit() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -108,14 +108,6 @@ FILE fqName:<root> fileName:/AnnotationLoader.kt
|
||||
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>.Visitor]'
|
||||
SET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Visitor visibility:local [final]' type=kotlin.Unit origin=EQ
|
||||
receiver: GET_VAR '<this>: <root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided> declared in <root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>' type=<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided> origin=null
|
||||
value: GET_VAR 'val visitor: <root>.Visitor [val] declared in <root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation' type=<root>.Visitor origin=null
|
||||
FUN name:visit visibility:public modality:FINAL <> ($this:<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun visit (): kotlin.Unit declared in <root>.Visitor
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>
|
||||
BLOCK_BODY
|
||||
FUN DELEGATED_MEMBER name:visitArray visibility:public modality:OPEN <> ($this:<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>) returnType:<root>.Visitor?
|
||||
overridden:
|
||||
public open fun visitArray (): <root>.Visitor? declared in <root>.Visitor
|
||||
@@ -135,6 +127,13 @@ FILE fqName:<root> fileName:/AnnotationLoader.kt
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Visitor visibility:local [final]' type=<root>.Visitor origin=null
|
||||
receiver: GET_VAR '<this>: <root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided> declared in <root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>.visitAnnotation' type=<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided> origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:<root>.Visitor visibility:local [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'val visitor: <root>.Visitor [val] declared in <root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation' type=<root>.Visitor origin=null
|
||||
FUN name:visit visibility:public modality:FINAL <> ($this:<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun visit (): kotlin.Unit declared in <root>.Visitor
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.AnnotationLoader.loadAnnotation.<no name provided>.visitAnnotation.<no name provided>
|
||||
BLOCK_BODY
|
||||
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
|
||||
|
||||
+1
-2
@@ -3,7 +3,6 @@ class Impl : A, B {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
<this>.#<$$delegate_0> = b
|
||||
}
|
||||
|
||||
override fun add(element: String?): Boolean {
|
||||
@@ -51,7 +50,7 @@ class Impl : A, B {
|
||||
return <this>.#<$$delegate_0>.<get-size>()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: B
|
||||
local /* final field */ val <$$delegate_0>: B = b
|
||||
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -6,9 +6,6 @@ FILE fqName:<root> fileName:/DelegationAndInheritanceFromJava.kt
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Impl modality:FINAL visibility:public superTypes:[<root>.Foo.A; <root>.Foo.B]'
|
||||
SET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Foo.B visibility:local [final]' type=kotlin.Unit origin=EQ
|
||||
receiver: GET_VAR '<this>: <root>.Impl declared in <root>.Impl' type=<root>.Impl origin=null
|
||||
value: GET_VAR 'b: <root>.Foo.B declared in <root>.Impl.<init>' type=<root>.Foo.B origin=null
|
||||
FUN DELEGATED_MEMBER name:add visibility:public modality:OPEN <> ($this:<root>.Impl, element:kotlin.String?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet
|
||||
@@ -124,6 +121,8 @@ FILE fqName:<root> fileName:/DelegationAndInheritanceFromJava.kt
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Foo.B visibility:local [final]' type=<root>.Foo.B origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Impl declared in <root>.Impl.<get-size>' type=<root>.Impl origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:<root>.Foo.B visibility:local [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'b: <root>.Foo.B declared in <root>.Impl.<init>' type=<root>.Foo.B 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
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
class FirSession {
|
||||
constructor(name: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val name: String
|
||||
field = name
|
||||
get
|
||||
|
||||
}
|
||||
|
||||
interface Fir2IrComponents {
|
||||
abstract val session: FirSession
|
||||
abstract get
|
||||
|
||||
abstract val classifierStorage: Fir2IrClassifierStorage
|
||||
abstract get
|
||||
|
||||
}
|
||||
|
||||
class Fir2IrComponentsStorage : Fir2IrComponents {
|
||||
constructor(session: FirSession) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override val session: FirSession
|
||||
field = session
|
||||
override get
|
||||
|
||||
override lateinit var classifierStorage: Fir2IrClassifierStorage
|
||||
override get
|
||||
set
|
||||
|
||||
}
|
||||
|
||||
class Fir2IrClassifierStorage : Fir2IrComponents {
|
||||
constructor(components: Fir2IrComponents) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override val session: FirSession
|
||||
override get(): FirSession {
|
||||
return <this>.#<$$delegate_0>.<get-session>()
|
||||
}
|
||||
|
||||
override val classifierStorage: Fir2IrClassifierStorage
|
||||
override get(): Fir2IrClassifierStorage {
|
||||
return <this>.#<$$delegate_0>.<get-classifierStorage>()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: Fir2IrComponents = components
|
||||
private val components: Fir2IrComponents
|
||||
field = components
|
||||
private get
|
||||
|
||||
private val name: String
|
||||
field = <this>.<get-session>().<get-name>()
|
||||
private get
|
||||
|
||||
}
|
||||
@@ -0,0 +1,176 @@
|
||||
FILE fqName:<root> fileName:/Fir2IrClassifierStorage.kt
|
||||
CLASS CLASS name:FirSession modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirSession
|
||||
CONSTRUCTOR visibility:public <> (name:kotlin.String) returnType:<root>.FirSession [primary]
|
||||
VALUE_PARAMETER name:name index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FirSession modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:name visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'name: kotlin.String declared in <root>.FirSession.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-name> visibility:public modality:FINAL <> ($this:<root>.FirSession) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:name visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.FirSession
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-name> (): kotlin.String declared in <root>.FirSession'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: <root>.FirSession declared in <root>.FirSession.<get-name>' type=<root>.FirSession 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:Fir2IrComponents modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Fir2IrComponents
|
||||
PROPERTY name:session visibility:public modality:ABSTRACT [val]
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-session> visibility:public modality:ABSTRACT <> ($this:<root>.Fir2IrComponents) returnType:<root>.FirSession
|
||||
correspondingProperty: PROPERTY name:session visibility:public modality:ABSTRACT [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponents
|
||||
PROPERTY name:classifierStorage visibility:public modality:ABSTRACT [val]
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-classifierStorage> visibility:public modality:ABSTRACT <> ($this:<root>.Fir2IrComponents) returnType:<root>.Fir2IrClassifierStorage
|
||||
correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:ABSTRACT [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponents
|
||||
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:Fir2IrComponentsStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
CONSTRUCTOR visibility:public <> (session:<root>.FirSession) returnType:<root>.Fir2IrComponentsStorage [primary]
|
||||
VALUE_PARAMETER name:session index:0 type:<root>.FirSession
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Fir2IrComponentsStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]'
|
||||
PROPERTY name:session visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:session type:<root>.FirSession visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'session: <root>.FirSession declared in <root>.Fir2IrComponentsStorage.<init>' type=<root>.FirSession origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-session> visibility:public modality:FINAL <> ($this:<root>.Fir2IrComponentsStorage) returnType:<root>.FirSession
|
||||
correspondingProperty: PROPERTY name:session visibility:public modality:FINAL [val]
|
||||
overridden:
|
||||
public abstract fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponentsStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:session type:<root>.FirSession visibility:private [final]' type=<root>.FirSession origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrComponentsStorage declared in <root>.Fir2IrComponentsStorage.<get-session>' type=<root>.Fir2IrComponentsStorage origin=null
|
||||
PROPERTY name:classifierStorage visibility:public modality:FINAL [lateinit,var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:<root>.Fir2IrClassifierStorage visibility:public
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-classifierStorage> visibility:public modality:FINAL <> ($this:<root>.Fir2IrComponentsStorage) returnType:<root>.Fir2IrClassifierStorage
|
||||
correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:FINAL [lateinit,var]
|
||||
overridden:
|
||||
public abstract fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponentsStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:<root>.Fir2IrClassifierStorage visibility:public' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrComponentsStorage declared in <root>.Fir2IrComponentsStorage.<get-classifierStorage>' type=<root>.Fir2IrComponentsStorage origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-classifierStorage> visibility:public modality:FINAL <> ($this:<root>.Fir2IrComponentsStorage, <set-?>:<root>.Fir2IrClassifierStorage) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:FINAL [lateinit,var]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:<root>.Fir2IrClassifierStorage visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrComponentsStorage declared in <root>.Fir2IrComponentsStorage.<set-classifierStorage>' type=<root>.Fir2IrComponentsStorage origin=null
|
||||
value: GET_VAR '<set-?>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponentsStorage.<set-classifierStorage>' type=<root>.Fir2IrClassifierStorage 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:Fir2IrClassifierStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
CONSTRUCTOR visibility:public <> (components:<root>.Fir2IrComponents) returnType:<root>.Fir2IrClassifierStorage [primary]
|
||||
VALUE_PARAMETER name:components index:0 type:<root>.Fir2IrComponents
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Fir2IrClassifierStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]'
|
||||
PROPERTY DELEGATED_MEMBER name:session visibility:public modality:OPEN [val]
|
||||
FUN DELEGATED_MEMBER name:<get-session> visibility:public modality:OPEN <> ($this:<root>.Fir2IrClassifierStorage) returnType:<root>.FirSession
|
||||
correspondingProperty: PROPERTY DELEGATED_MEMBER name:session visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrClassifierStorage'
|
||||
CALL 'public abstract fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponents' type=<root>.FirSession origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Fir2IrComponents visibility:local [final]' type=<root>.Fir2IrComponents origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-session>' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
PROPERTY DELEGATED_MEMBER name:classifierStorage visibility:public modality:OPEN [val]
|
||||
FUN DELEGATED_MEMBER name:<get-classifierStorage> visibility:public modality:OPEN <> ($this:<root>.Fir2IrClassifierStorage) returnType:<root>.Fir2IrClassifierStorage
|
||||
correspondingProperty: PROPERTY DELEGATED_MEMBER name:classifierStorage visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage'
|
||||
CALL 'public abstract fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponents' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Fir2IrComponents visibility:local [final]' type=<root>.Fir2IrComponents origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-classifierStorage>' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:<root>.Fir2IrComponents visibility:local [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'components: <root>.Fir2IrComponents declared in <root>.Fir2IrClassifierStorage.<init>' type=<root>.Fir2IrComponents origin=null
|
||||
PROPERTY name:components visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:components type:<root>.Fir2IrComponents visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'components: <root>.Fir2IrComponents declared in <root>.Fir2IrClassifierStorage.<init>' type=<root>.Fir2IrComponents origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-components> visibility:private modality:FINAL <> ($this:<root>.Fir2IrClassifierStorage) returnType:<root>.Fir2IrComponents
|
||||
correspondingProperty: PROPERTY name:components visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-components> (): <root>.Fir2IrComponents declared in <root>.Fir2IrClassifierStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:components type:<root>.Fir2IrComponents visibility:private [final]' type=<root>.Fir2IrComponents origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-components>' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
PROPERTY name:name visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun <get-name> (): kotlin.String declared in <root>.FirSession' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: CALL 'public open fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrClassifierStorage' type=<root>.FirSession origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-name> visibility:private modality:FINAL <> ($this:<root>.Fir2IrClassifierStorage) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:name visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-name> (): kotlin.String declared in <root>.Fir2IrClassifierStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-name>' type=<root>.Fir2IrClassifierStorage 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
|
||||
@@ -0,0 +1,18 @@
|
||||
class FirSession(val name: String)
|
||||
|
||||
interface Fir2IrComponents {
|
||||
val session: FirSession
|
||||
val classifierStorage: Fir2IrClassifierStorage
|
||||
}
|
||||
|
||||
class Fir2IrComponentsStorage(
|
||||
override val session: FirSession
|
||||
) : Fir2IrComponents {
|
||||
override lateinit var classifierStorage: Fir2IrClassifierStorage
|
||||
}
|
||||
|
||||
class Fir2IrClassifierStorage(
|
||||
private val components: Fir2IrComponents
|
||||
) : Fir2IrComponents by components {
|
||||
private val name = session.name
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
class FirSession {
|
||||
constructor(name: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val name: String
|
||||
field = name
|
||||
get
|
||||
|
||||
}
|
||||
|
||||
interface Fir2IrComponents {
|
||||
abstract val session: FirSession
|
||||
abstract get
|
||||
|
||||
abstract val classifierStorage: Fir2IrClassifierStorage
|
||||
abstract get
|
||||
|
||||
}
|
||||
|
||||
class Fir2IrComponentsStorage : Fir2IrComponents {
|
||||
constructor(session: FirSession) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override val session: FirSession
|
||||
field = session
|
||||
override get
|
||||
|
||||
override lateinit var classifierStorage: Fir2IrClassifierStorage
|
||||
override get
|
||||
open set
|
||||
|
||||
}
|
||||
|
||||
class Fir2IrClassifierStorage : Fir2IrComponents {
|
||||
constructor(components: Fir2IrComponents) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private val components: Fir2IrComponents
|
||||
field = components
|
||||
private get
|
||||
|
||||
override val classifierStorage: Fir2IrClassifierStorage
|
||||
override get(): Fir2IrClassifierStorage {
|
||||
return <this>.#components.<get-classifierStorage>()
|
||||
}
|
||||
|
||||
override val session: FirSession
|
||||
override get(): FirSession {
|
||||
return <this>.#components.<get-session>()
|
||||
}
|
||||
|
||||
private val name: String
|
||||
field = <this>.<get-session>().<get-name>()
|
||||
private get
|
||||
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
FILE fqName:<root> fileName:/Fir2IrClassifierStorage.kt
|
||||
CLASS CLASS name:FirSession modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirSession
|
||||
CONSTRUCTOR visibility:public <> (name:kotlin.String) returnType:<root>.FirSession [primary]
|
||||
VALUE_PARAMETER name:name index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:FirSession modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:name visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'name: kotlin.String declared in <root>.FirSession.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-name> visibility:public modality:FINAL <> ($this:<root>.FirSession) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:name visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.FirSession
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-name> (): kotlin.String declared in <root>.FirSession'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: <root>.FirSession declared in <root>.FirSession.<get-name>' type=<root>.FirSession 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:Fir2IrComponents modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Fir2IrComponents
|
||||
PROPERTY name:session visibility:public modality:ABSTRACT [val]
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-session> visibility:public modality:ABSTRACT <> ($this:<root>.Fir2IrComponents) returnType:<root>.FirSession
|
||||
correspondingProperty: PROPERTY name:session visibility:public modality:ABSTRACT [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponents
|
||||
PROPERTY name:classifierStorage visibility:public modality:ABSTRACT [val]
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-classifierStorage> visibility:public modality:ABSTRACT <> ($this:<root>.Fir2IrComponents) returnType:<root>.Fir2IrClassifierStorage
|
||||
correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:ABSTRACT [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponents
|
||||
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:Fir2IrComponentsStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
CONSTRUCTOR visibility:public <> (session:<root>.FirSession) returnType:<root>.Fir2IrComponentsStorage [primary]
|
||||
VALUE_PARAMETER name:session index:0 type:<root>.FirSession
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Fir2IrComponentsStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]'
|
||||
PROPERTY name:session visibility:public modality:OPEN [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:session type:<root>.FirSession visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'session: <root>.FirSession declared in <root>.Fir2IrComponentsStorage.<init>' type=<root>.FirSession origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-session> visibility:public modality:OPEN <> ($this:<root>.Fir2IrComponentsStorage) returnType:<root>.FirSession
|
||||
correspondingProperty: PROPERTY name:session visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponentsStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:session type:<root>.FirSession visibility:private [final]' type=<root>.FirSession origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrComponentsStorage declared in <root>.Fir2IrComponentsStorage.<get-session>' type=<root>.Fir2IrComponentsStorage origin=null
|
||||
PROPERTY name:classifierStorage visibility:public modality:OPEN [lateinit,var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:<root>.Fir2IrClassifierStorage visibility:public
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-classifierStorage> visibility:public modality:OPEN <> ($this:<root>.Fir2IrComponentsStorage) returnType:<root>.Fir2IrClassifierStorage
|
||||
correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:OPEN [lateinit,var]
|
||||
overridden:
|
||||
public abstract fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponentsStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:<root>.Fir2IrClassifierStorage visibility:public' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrComponentsStorage declared in <root>.Fir2IrComponentsStorage.<get-classifierStorage>' type=<root>.Fir2IrComponentsStorage origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-classifierStorage> visibility:public modality:OPEN <> ($this:<root>.Fir2IrComponentsStorage, <set-?>:<root>.Fir2IrClassifierStorage) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:classifierStorage visibility:public modality:OPEN [lateinit,var]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrComponentsStorage
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:classifierStorage type:<root>.Fir2IrClassifierStorage visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrComponentsStorage declared in <root>.Fir2IrComponentsStorage.<set-classifierStorage>' type=<root>.Fir2IrComponentsStorage origin=null
|
||||
value: GET_VAR '<set-?>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponentsStorage.<set-classifierStorage>' type=<root>.Fir2IrClassifierStorage 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>.Fir2IrComponents
|
||||
$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>.Fir2IrComponents
|
||||
$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>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Fir2IrClassifierStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
CONSTRUCTOR visibility:public <> (components:<root>.Fir2IrComponents) returnType:<root>.Fir2IrClassifierStorage [primary]
|
||||
VALUE_PARAMETER name:components index:0 type:<root>.Fir2IrComponents
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Fir2IrClassifierStorage modality:FINAL visibility:public superTypes:[<root>.Fir2IrComponents]'
|
||||
PROPERTY name:components visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:components type:<root>.Fir2IrComponents visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'components: <root>.Fir2IrComponents declared in <root>.Fir2IrClassifierStorage.<init>' type=<root>.Fir2IrComponents origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-components> visibility:private modality:FINAL <> ($this:<root>.Fir2IrClassifierStorage) returnType:<root>.Fir2IrComponents
|
||||
correspondingProperty: PROPERTY name:components visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-components> (): <root>.Fir2IrComponents declared in <root>.Fir2IrClassifierStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:components type:<root>.Fir2IrComponents visibility:private [final]' type=<root>.Fir2IrComponents origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-components>' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
PROPERTY DELEGATED_MEMBER name:classifierStorage visibility:public modality:OPEN [val]
|
||||
FUN DELEGATED_MEMBER name:<get-classifierStorage> visibility:public modality:OPEN <> ($this:<root>.Fir2IrClassifierStorage) returnType:<root>.Fir2IrClassifierStorage
|
||||
correspondingProperty: PROPERTY DELEGATED_MEMBER name:classifierStorage visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage'
|
||||
CALL 'public abstract fun <get-classifierStorage> (): <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrComponents' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:components type:<root>.Fir2IrComponents visibility:private [final]' type=<root>.Fir2IrComponents origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-classifierStorage>' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
PROPERTY DELEGATED_MEMBER name:session visibility:public modality:OPEN [val]
|
||||
FUN DELEGATED_MEMBER name:<get-session> visibility:public modality:OPEN <> ($this:<root>.Fir2IrClassifierStorage) returnType:<root>.FirSession
|
||||
correspondingProperty: PROPERTY DELEGATED_MEMBER name:session visibility:public modality:OPEN [val]
|
||||
overridden:
|
||||
public abstract fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrClassifierStorage'
|
||||
CALL 'public abstract fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrComponents' type=<root>.FirSession origin=null
|
||||
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:components type:<root>.Fir2IrComponents visibility:private [final]' type=<root>.Fir2IrComponents origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-session>' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
PROPERTY name:name visibility:private modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun <get-name> (): kotlin.String declared in <root>.FirSession' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: CALL 'public open fun <get-session> (): <root>.FirSession declared in <root>.Fir2IrClassifierStorage' type=<root>.FirSession origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage' type=<root>.Fir2IrClassifierStorage origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-name> visibility:private modality:FINAL <> ($this:<root>.Fir2IrClassifierStorage) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:name visibility:private modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Fir2IrClassifierStorage
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='private final fun <get-name> (): kotlin.String declared in <root>.Fir2IrClassifierStorage'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Fir2IrClassifierStorage declared in <root>.Fir2IrClassifierStorage.<get-name>' type=<root>.Fir2IrClassifierStorage 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>.Fir2IrComponents
|
||||
$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>.Fir2IrComponents
|
||||
$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>.Fir2IrComponents
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
@@ -34,9 +34,13 @@ data class DataClass : Derived, Delegate {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
<this>.#<$$delegate_0> = delegate
|
||||
}
|
||||
|
||||
override fun bar() {
|
||||
<this>.#<$$delegate_0>.bar()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: Delegate = delegate
|
||||
val delegate: Delegate
|
||||
field = delegate
|
||||
get
|
||||
@@ -49,11 +53,6 @@ data class DataClass : Derived, Delegate {
|
||||
return DataClass(delegate = delegate)
|
||||
}
|
||||
|
||||
override fun bar() {
|
||||
<this>.#<$$delegate_0>.bar()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: Delegate
|
||||
override fun equals(other: Any?): Boolean {
|
||||
when {
|
||||
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
|
||||
|
||||
+11
-12
@@ -90,9 +90,17 @@ FILE fqName:<root> fileName:/SignatureClash.kt
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DataClass modality:FINAL visibility:public [data] superTypes:[<root>.Derived; <root>.Delegate]'
|
||||
SET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Delegate visibility:local [final]' type=kotlin.Unit origin=EQ
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass' type=<root>.DataClass origin=null
|
||||
value: GET_VAR 'delegate: <root>.Delegate declared in <root>.DataClass.<init>' type=<root>.Delegate origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:<root>.DataClass) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun bar (): kotlin.Unit declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun bar (): kotlin.Unit declared in <root>.Delegate' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Delegate visibility:local [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.bar' type=<root>.DataClass origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:<root>.Delegate visibility:local [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'delegate: <root>.Delegate declared in <root>.DataClass.<init>' type=<root>.Delegate origin=null
|
||||
PROPERTY name:delegate visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:delegate type:<root>.Delegate visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
@@ -120,15 +128,6 @@ FILE fqName:<root> fileName:/SignatureClash.kt
|
||||
RETURN type=kotlin.Nothing from='public final fun copy (delegate: <root>.Delegate): <root>.DataClass declared in <root>.DataClass'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (delegate: <root>.Delegate) [primary] declared in <root>.DataClass' type=<root>.DataClass origin=null
|
||||
delegate: GET_VAR 'delegate: <root>.Delegate declared in <root>.DataClass.copy' type=<root>.Delegate origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:<root>.DataClass) returnType:kotlin.Unit
|
||||
overridden:
|
||||
public abstract fun bar (): kotlin.Unit declared in <root>.Delegate
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.DataClass
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun bar (): kotlin.Unit declared in <root>.Delegate' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.Delegate visibility:local [final]' type=<root>.Delegate origin=null
|
||||
receiver: GET_VAR '<this>: <root>.DataClass declared in <root>.DataClass.bar' type=<root>.DataClass origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:<root>.Delegate visibility:local [final]
|
||||
FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:<root>.DataClass, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||
|
||||
@@ -3,13 +3,8 @@ open class ControlFlowInfo<K : Any?, V : Any?> : Map<K, V> {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
<this>.#<$$delegate_0> = map
|
||||
}
|
||||
|
||||
val map: Map<K, V>
|
||||
field = map
|
||||
get
|
||||
|
||||
override fun containsKey(key: K): Boolean {
|
||||
return <this>.#<$$delegate_0>.containsKey(key = key)
|
||||
}
|
||||
@@ -52,7 +47,10 @@ open class ControlFlowInfo<K : Any?, V : Any?> : Map<K, V> {
|
||||
return <this>.#<$$delegate_0>.<get-values>()
|
||||
}
|
||||
|
||||
local /* final field */ val <$$delegate_0>: Map<K, V>
|
||||
local /* final field */ val <$$delegate_0>: Map<K, V> = map
|
||||
val map: Map<K, V>
|
||||
field = map
|
||||
get
|
||||
|
||||
}
|
||||
|
||||
|
||||
+13
-14
@@ -8,20 +8,6 @@ FILE fqName:<root> fileName:/kt43342.kt
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ControlFlowInfo modality:OPEN visibility:public superTypes:[kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>]'
|
||||
SET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:local [final]' type=kotlin.Unit origin=EQ
|
||||
receiver: GET_VAR '<this>: <root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo' type=<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
value: GET_VAR 'map: kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<init>' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
PROPERTY name:map visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'map: kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<init>' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-map> visibility:public modality:FINAL <> ($this:<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>) returnType:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>
|
||||
correspondingProperty: PROPERTY name:map visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-map> (): kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:private [final]' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<get-map>' type=<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
FUN DELEGATED_MEMBER name:containsKey visibility:public modality:OPEN <> ($this:<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>, key:K of <root>.ControlFlowInfo) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map
|
||||
@@ -125,6 +111,19 @@ FILE fqName:<root> fileName:/kt43342.kt
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:local [final]' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<get-values>' type=<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
FIELD DELEGATE name:<$$delegate_0> type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:local [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'map: kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<init>' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
PROPERTY name:map visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'map: kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<init>' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-map> visibility:public modality:FINAL <> ($this:<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>) returnType:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>
|
||||
correspondingProperty: PROPERTY name:map visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-map> (): kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> visibility:private [final]' type=kotlin.collections.Map<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> origin=null
|
||||
receiver: GET_VAR '<this>: <root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> declared in <root>.ControlFlowInfo.<get-map>' type=<root>.ControlFlowInfo<K of <root>.ControlFlowInfo, V of <root>.ControlFlowInfo> 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
|
||||
|
||||
Reference in New Issue
Block a user