9807c67ae4
If some java class has multiple supertypes then we need to collect overriddens from all those types directly, even if superTypeScope (which is FirTypeIntersectionScope in this case) returns only one symbol from one of this types (not intersection one) This is needed to proper enhancement in cases when some type occurs multiple times in supertypes graph with different nullability of arguments: class ConcurrentHashMap<K, V> : AbstractMap<K!, V!>, MutableMap<K, V> If we try to find method `get(key: K): V` supertype scope returns `AbstractMap.get(key: K!): V!` (because it actually overrides `MutableMap(key: K): V?`), but we need to get both symbols to properly enhance types for `ConcurrentHashMap.remove`
158 lines
14 KiB
Plaintext
Vendored
158 lines
14 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/classLevelProperties.kt
|
|
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
|
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
|
|
CONSTRUCTOR visibility:public <> () returnType:<root>.C [primary]
|
|
BLOCK_BODY
|
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
|
PROPERTY name:test1 visibility:public modality:FINAL [val]
|
|
FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:private [final]
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=0
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): kotlin.Int declared in <root>.C'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test1>' type=<root>.C origin=null
|
|
PROPERTY name:test2 visibility:public modality:FINAL [val]
|
|
FUN name:<get-test2> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): kotlin.Int declared in <root>.C'
|
|
CONST Int type=kotlin.Int value=0
|
|
PROPERTY name:test3 visibility:public modality:FINAL [var]
|
|
FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=0
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test3> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test3> (): kotlin.Int declared in <root>.C'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test3>' type=<root>.C origin=null
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-test3> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
|
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
|
BLOCK_BODY
|
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test3>' type=<root>.C origin=null
|
|
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.C.<set-test3>' type=kotlin.Int origin=null
|
|
PROPERTY name:test4 visibility:public modality:FINAL [var]
|
|
FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:private
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=1
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test4> (): kotlin.Int declared in <root>.C'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test4>' type=<root>.C origin=null
|
|
FUN name:<set-test4> visibility:public modality:FINAL <> ($this:<root>.C, value:kotlin.Int) returnType:kotlin.Unit
|
|
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
VALUE_PARAMETER name:value index:0 type:kotlin.Int
|
|
BLOCK_BODY
|
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test4>' type=<root>.C origin=null
|
|
value: GET_VAR 'value: kotlin.Int declared in <root>.C.<set-test4>' type=kotlin.Int origin=null
|
|
PROPERTY name:test5 visibility:public modality:FINAL [var]
|
|
FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:private
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=1
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test5> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test5> (): kotlin.Int declared in <root>.C'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test5>' type=<root>.C origin=null
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-test5> visibility:private modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
|
correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
|
BLOCK_BODY
|
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test5>' type=<root>.C origin=null
|
|
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.C.<set-test5>' type=kotlin.Int origin=null
|
|
PROPERTY name:test6 visibility:public modality:FINAL [val]
|
|
FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:private [final]
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=1
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test6> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test6> (): kotlin.Int declared in <root>.C'
|
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test6>' type=<root>.C origin=null
|
|
PROPERTY name:test7 visibility:public modality:FINAL [delegated,val]
|
|
FIELD PROPERTY_DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]
|
|
EXPRESSION_BODY
|
|
CALL 'public final fun lazy <T> (initializer: kotlin.Function0<T of kotlin.LazyKt.lazy>): kotlin.Lazy<T of kotlin.LazyKt.lazy> declared in kotlin.LazyKt' type=kotlin.Lazy<kotlin.Int> origin=null
|
|
<T>: kotlin.Int
|
|
initializer: FUN_EXPR type=kotlin.Function0<kotlin.Int> origin=LAMBDA
|
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Int declared in <root>.C.test7$delegate'
|
|
CONST Int type=kotlin.Int value=42
|
|
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test7> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [delegated,val]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test7> (): kotlin.Int declared in <root>.C'
|
|
CALL 'public final fun getValue <T> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.LazyKt.getValue [inline,operator] declared in kotlin.LazyKt' type=kotlin.Int origin=null
|
|
<T>: kotlin.Int
|
|
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test7>' type=<root>.C origin=null
|
|
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test7>' type=<root>.C origin=null
|
|
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test7> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
|
PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
|
|
FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]
|
|
EXPRESSION_BODY
|
|
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.MapsKt.hashMapOf, V of kotlin.collections.MapsKt.hashMapOf> [inline] declared in kotlin.collections.MapsKt' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
|
|
<K>: kotlin.String
|
|
<V>: kotlin.Int
|
|
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int
|
|
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): kotlin.Int declared in <root>.C'
|
|
CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.MapAccessorsKt.getValue [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Int origin=null
|
|
<V>: kotlin.Int
|
|
<V1>: kotlin.Int
|
|
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null
|
|
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null
|
|
property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>.C' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
|
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
|
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
|
|
$this: VALUE_PARAMETER name:<this> type:<root>.C
|
|
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
|
BLOCK_BODY
|
|
CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.MapAccessorsKt.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections.MapAccessorsKt' type=kotlin.Unit origin=null
|
|
<V>: kotlin.Int
|
|
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
|
|
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null
|
|
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null
|
|
property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>.C' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
|
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.C.<set-test8>' type=kotlin.Int 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
|