K2: use derived class sources for callable copies if base callables have no sources

Related to KT-60155
This commit is contained in:
Mikhail Glukhikh
2023-09-28 15:32:22 +02:00
committed by Space Team
parent 8395018de8
commit a9894b1842
21 changed files with 214 additions and 224 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.*
import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.scopes.CallableCopySubstitution
import org.jetbrains.kotlin.fir.scopes.callableCopySubstitutionForTypeUpdater
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
@@ -121,7 +122,7 @@ object FirFakeOverrideGenerator {
checkStatusIsResolved(baseFunction)
return buildSimpleFunction {
source = baseFunction.source
source = baseFunction.source ?: derivedClassLookupTag?.toSymbol(session)?.source
moduleData = session.nullableModuleData ?: baseFunction.moduleData
this.origin = origin
name = baseFunction.name
@@ -161,6 +162,7 @@ object FirFakeOverrideGenerator {
// As second alternative, we can invent some light-weight kind of FirRegularClass
return buildConstructor {
annotations += baseConstructor.annotations
source = baseConstructor.source ?: derivedClassLookupTag?.toSymbol(session)?.source
moduleData = session.nullableModuleData ?: baseConstructor.moduleData
this.origin = origin
receiverParameter = baseConstructor.receiverParameter?.let { receiverParameter ->
@@ -187,7 +189,6 @@ object FirFakeOverrideGenerator {
dispatchReceiverType = newDispatchReceiverType
resolvePhase = baseConstructor.resolvePhase
source = baseConstructor.source
attributes = baseConstructor.attributes.copy()
deprecationsProvider = baseConstructor.deprecationsProvider
}.apply {
@@ -301,6 +302,7 @@ object FirFakeOverrideGenerator {
) { valueParameter, newType ->
buildValueParameterCopy(valueParameter) {
this.origin = origin
source = source ?: this@configureAnnotationsAndSignature.source
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newType)
symbol = FirValueParameterSymbol(valueParameter.name)
containingFunctionSymbol = fakeFunctionSymbol
@@ -369,7 +371,7 @@ object FirFakeOverrideGenerator {
checkStatusIsResolved(baseProperty)
return buildProperty {
source = baseProperty.source
source = baseProperty.source ?: derivedClassLookupTag?.toSymbol(session)?.source
moduleData = session.nullableModuleData ?: baseProperty.moduleData
this.origin = origin
name = baseProperty.name
@@ -1,7 +1,7 @@
// MODULE: m1-common
// FILE: common.kt
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo<!>
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo<!>
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
@@ -1,5 +1,5 @@
// MODULE: m1-common
<!INCOMPATIBLE_MATCHING{JVM}!>expect interface Base<!>
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>expect interface Base<!>
// MODULE: m1-jvm()()(m1-common)
actual interface Base {
@@ -3,7 +3,7 @@
// FILE: common.kt
// K2: false positve INCOMPATIBLE_MATCHING: KT-60155
<!INCOMPATIBLE_MATCHING{JVM}!>public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
<!INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}, INCOMPATIBLE_MATCHING{JVM}!>public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
override val values: MutableCollection<V>
}<!>
@@ -1,8 +1,8 @@
// MODULE: m1-common
// FILE: common.kt
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E01<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E02<!>
<!INCOMPATIBLE_MATCHING{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E01<!>
<!INCOMPATIBLE_MATCHING{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E02<!>
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
@@ -2,8 +2,8 @@
// MODULE: m1-common
// FILE: common.kt
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E01<!>
<!INCOMPATIBLE_MATCHING{JVM}!>expect class E02<!>
<!INCOMPATIBLE_MATCHING{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E01<!>
<!INCOMPATIBLE_MATCHING{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}, NO_ACTUAL_FOR_EXPECT{JVM}!>expect class E02<!>
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
+7 -7
View File
@@ -21,13 +21,13 @@
@1:39..62 RETURN type=kotlin.Nothing from='public final fun <get-description> (): kotlin.String declared in <root>.MyAnnotation'
@1:39..62 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:description type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
@1:39..62 GET_VAR '<this>: <root>.MyAnnotation declared in <root>.MyAnnotation.<get-description>' type=<root>.MyAnnotation origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..1:63 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@0:0..1:63 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..1:63 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@0:0..1:63 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@0:0..1:63 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..1:63 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@0:0..1:63 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..1:63 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyAnnotation
@3:0..4:12 FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit
annotations:
@@ -14,13 +14,13 @@
@6:8..17 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=PLUSEQ
@6:8..12 GET_VAR '<this>: test.Host declared in test.Host.test1' type=test.Host origin=null
@6:16..17 CONST Int type=kotlin.Int value=1
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..8:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@2:0..8:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..8:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@2:0..8:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@2:0..8:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..8:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@2:0..8:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..8:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test.Host
@10:0..18 FUN name:foo visibility:public modality:FINAL <> () returnType:test.Host
@10:12..18 BLOCK_BODY
+14 -14
View File
@@ -11,13 +11,13 @@
@8:52..79 BLOCK_BODY
@8:52..79 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@8:52..79 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@8:4..10:36 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@8:4..10:36 VALUE_PARAMETER name:<this> type:kotlin.Any
@8:4..10:36 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@8:4..10:36 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@8:4..10:36 VALUE_PARAMETER name:<this> type:kotlin.Any
@8:4..10:36 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@8:4..10:36 VALUE_PARAMETER name:<this> type:kotlin.Any
@8:4..10:36 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Foo.Inner
@18:4..20:39 FUN name:foo visibility:protected modality:OPEN <> ($this:<root>.Foo, y:kotlin.Int) returnType:kotlin.Unit
@18:4..20:39 VALUE_PARAMETER name:<this> type:<root>.Foo
@@ -41,11 +41,11 @@
@31:8..41 CALL 'protected open fun foo (y: kotlin.Int): kotlin.Unit declared in <root>.Foo' type=kotlin.Unit origin=null
@31:8..41 GET_VAR '<this>: <root>.Foo declared in <root>.Foo.test' type=<root>.Foo origin=null
@31:38..40 CONST Int type=kotlin.Int value=42
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@1:0..33:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@1:0..33:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@1:0..33:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@1:0..33:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@1:0..33:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@1:0..33:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@1:0..33:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@1:0..33:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Foo
@@ -20,11 +20,11 @@
@20:4..21:18 FUN name:test3 visibility:private modality:FINAL <> ($this:test.Test) returnType:kotlin.Unit
@20:4..21:18 VALUE_PARAMETER name:<this> type:test.Test
@21:16..18 BLOCK_BODY
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..23:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@3:0..23:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..23:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@3:0..23:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@3:0..23:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..23:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@3:0..23:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..23:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test.Test
@@ -182,11 +182,11 @@
@74:12..25 SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test13 type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ
@74:12..25 GET_VAR '<this>: test.Test declared in test.Test.<set-test13>' type=test.Test origin=null
@74:20..25 GET_VAR 'value: kotlin.Int declared in test.Test.<set-test13>' type=kotlin.Int origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..77:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@2:0..77:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..77:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@2:0..77:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@2:0..77:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..77:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@2:0..77:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..77:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test.Test
@@ -4,39 +4,39 @@
@0:0..11 BLOCK_BODY
@0:0..11 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@0:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@0:0..11 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@0:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@0:0..11 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@0:0..11 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
@3:0..4:11 CLASS CLASS name:Test2 modality:FINAL visibility:internal superTypes:[kotlin.Any]
@3:0..4:11 CONSTRUCTOR visibility:public <> () returnType:<root>.Test2 [primary]
@3:0..4:11 BLOCK_BODY
@3:0..4:11 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@3:0..4:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:internal superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..4:11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@3:0..4:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..4:11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@3:0..4:11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@3:0..4:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..4:11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@3:0..4:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@3:0..4:11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2
@10:0..11 CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]
@10:0..11 CONSTRUCTOR visibility:public <> () returnType:<root>.Test3 [primary]
@10:0..11 BLOCK_BODY
@10:0..11 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@10:0..11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@10:0..11 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@10:0..11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@10:0..11 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:0..11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@10:0..11 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:0..11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test3
@13:0..14:11 CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]
annotations:
@@ -47,13 +47,13 @@
@13:0..14:11 BLOCK_BODY
@13:0..14:11 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@13:0..14:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@13:0..14:11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@13:0..14:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@13:0..14:11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@13:0..14:11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@13:0..14:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@13:0..14:11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@13:0..14:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@13:0..14:11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test4
@17:0..18:11 CLASS ENUM_CLASS name:Test5 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test5>]
@17:0..18:11 CONSTRUCTOR visibility:private <> () returnType:<root>.Test5 [primary]
@@ -68,41 +68,41 @@
@17:0..18:11 PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
@17:0..18:11 FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.Test5>
@17:0..18:11 SYNTHETIC_BODY kind=ENUM_ENTRIES
@-1:-1..-1 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Any [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>, other:<root>.Test5) returnType:kotlin.Int [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:<root>.Test5
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
@17:0..18:11 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Any [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>, other:<root>.Test5) returnType:kotlin.Int [fake_override,operator]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 VALUE_PARAMETER name:other index:0 type:<root>.Test5
@17:0..18:11 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@17:0..18:11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Int [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.String [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
@-1:-1..-1 CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.internal.IntrinsicConstEvaluation' type=kotlin.internal.IntrinsicConstEvaluation origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
@-1:-1..-1 FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:@[FlexibleNullability] java.lang.Class<@[FlexibleNullability] <root>.Test5?>? [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@-1:-1..-1 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Unit [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.String [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
@17:0..18:11 FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Int [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:@[FlexibleNullability] java.lang.Class<@[FlexibleNullability] <root>.Test5?>? [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<<root>.Test5>) returnType:kotlin.Unit [fake_override]
@17:0..18:11 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Test5>
@17:0..18:11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test5
@21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
@21:0..22:11 CONSTRUCTOR visibility:public <> () returnType:<root>.Test6 [primary]
@21:0..22:11 BLOCK_BODY
@21:0..22:11 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@21:0..22:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test6 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@21:0..22:11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@21:0..22:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@21:0..22:11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@21:0..22:11 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@21:0..22:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@21:0..22:11 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@21:0..22:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@21:0..22:11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test6
@@ -60,11 +60,11 @@
@10:34..12:5 GET_VAR '<this>: <root>.MyClass declared in <root>.MyClass.<set-observableProp>' type=<root>.MyClass origin=null
@10:34..12:5 PROPERTY_REFERENCE 'public final observableProp: kotlin.String [delegated,var]' field=null getter='public final fun <get-observableProp> (): kotlin.String declared in <root>.MyClass' setter='public final fun <set-observableProp> (<set-?>: kotlin.String): kotlin.Unit declared in <root>.MyClass' type=kotlin.reflect.KMutableProperty1<<root>.MyClass, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
@10:34..12:5 GET_VAR '<set-?>: kotlin.String declared in <root>.MyClass.<set-observableProp>' type=kotlin.String origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..13:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@5:0..13:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..13:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@5:0..13:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@5:0..13:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..13:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@5:0..13:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..13:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass
@@ -1,14 +0,0 @@
@0:0..1:0 FILE fqName:<root> fileName:/fakeOverrides.kt
@0:0..10 CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]
@0:0..10 CONSTRUCTOR visibility:public <> () returnType:<root>.Test [primary]
@0:0..10 BLOCK_BODY
@0:0..10 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@0:0..10 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..10 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test
@@ -1 +1,3 @@
class Test
class Test
// FIR_IDENTICAL
@@ -1,4 +1,4 @@
@0:0..1:0 FILE fqName:<root> fileName:/fakeOverrides.kt
@0:0..3:0 FILE fqName:<root> fileName:/fakeOverrides.kt
@0:0..10 CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]
@0:0..10 CONSTRUCTOR visibility:public <> () returnType:<root>.Test [primary]
@0:0..10 BLOCK_BODY
@@ -15,13 +15,13 @@
@1:4..14 RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test1'
@1:4..14 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
@1:4..14 GET_VAR '<this>: <root>.Test1 declared in <root>.Test1.<get-x>' type=<root>.Test1 origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..3:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@0:0..3:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..3:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@0:0..3:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@0:0..3:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..3:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@0:0..3:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..3:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
@5:0..14:1 CLASS CLASS name:Test2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
@7:11..9:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
@@ -56,19 +56,19 @@
@12:8..18 RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test2.TestInner'
@12:8..18 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
@12:8..18 GET_VAR '<this>: <root>.Test2.TestInner declared in <root>.Test2.TestInner.<get-x>' type=<root>.Test2.TestInner origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:4..13:5 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@10:4..13:5 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:4..13:5 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@10:4..13:5 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@10:4..13:5 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:4..13:5 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@10:4..13:5 VALUE_PARAMETER name:<this> type:kotlin.Any
@10:4..13:5 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.TestInner
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..14:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@5:0..14:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..14:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@5:0..14:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@5:0..14:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..14:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@5:0..14:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..14:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2
@@ -15,13 +15,13 @@
@0:12..22 RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test1'
@0:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
@0:12..22 GET_VAR '<this>: <root>.Test1 declared in <root>.Test1.<get-x>' type=<root>.Test1 origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@0:0..23 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..23 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@0:0..23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@0:0..23 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@0:0..23 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..23 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
@2:0..3:32 CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]
@3:0..32 CONSTRUCTOR visibility:internal <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
@@ -39,13 +39,13 @@
@3:21..31 RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test2'
@3:21..31 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
@3:21..31 GET_VAR '<this>: <root>.Test2 declared in <root>.Test2.<get-x>' type=<root>.Test2 origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..3:32 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@2:0..3:32 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..3:32 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@2:0..3:32 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@2:0..3:32 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..3:32 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@2:0..3:32 VALUE_PARAMETER name:<this> type:kotlin.Any
@2:0..3:32 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2
@5:0..9:23 CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]
@9:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test3 [primary]
@@ -63,13 +63,13 @@
@9:12..22 RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test3'
@9:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
@9:12..22 GET_VAR '<this>: <root>.Test3 declared in <root>.Test3.<get-x>' type=<root>.Test3 origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..9:23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@5:0..9:23 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..9:23 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@5:0..9:23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@5:0..9:23 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..9:23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@5:0..9:23 VALUE_PARAMETER name:<this> type:kotlin.Any
@5:0..9:23 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test3
@11:0..13:23 CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]
@12:0..13:23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test4 [primary]
@@ -91,11 +91,11 @@
@13:12..22 RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test4'
@13:12..22 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
@13:12..22 GET_VAR '<this>: <root>.Test4 declared in <root>.Test4.<get-x>' type=<root>.Test4 origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@11:0..13:23 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@11:0..13:23 VALUE_PARAMETER name:<this> type:kotlin.Any
@11:0..13:23 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@11:0..13:23 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@11:0..13:23 VALUE_PARAMETER name:<this> type:kotlin.Any
@11:0..13:23 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@11:0..13:23 VALUE_PARAMETER name:<this> type:kotlin.Any
@11:0..13:23 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test4
@@ -23,11 +23,11 @@
@11:4..12:32 BLOCK_BODY
@12:25..32 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@11:4..12:32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]'
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..13:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@0:0..13:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..13:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@0:0..13:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@0:0..13:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..13:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@0:0..13:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@0:0..13:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
+7 -7
View File
@@ -14,11 +14,11 @@
@25:4..38 FUN name:compareTo visibility:public modality:ABSTRACT <> ($this:<root>.Boolean, other:<root>.Boolean) returnType:kotlin.Int
@25:4..38 VALUE_PARAMETER name:<this> type:<root>.Boolean
@25:18..32 VALUE_PARAMETER name:other index:0 type:<root>.Boolean
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@4:0..26:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@4:0..26:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@4:0..26:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@4:0..26:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@4:0..26:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@4:0..26:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@4:0..26:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@4:0..26:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Boolean
+29 -29
View File
@@ -57,30 +57,30 @@
@39:0..41:1 PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
@39:0..41:1 FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.E>
@39:0..41:1 SYNTHETIC_BODY kind=ENUM_ENTRIES
@-1:-1..-1 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Any [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:<root>.E
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
@39:0..41:1 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Any [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 VALUE_PARAMETER name:other index:0 type:<root>.E
@39:0..41:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@39:0..41:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
@-1:-1..-1 CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.internal.IntrinsicConstEvaluation' type=kotlin.internal.IntrinsicConstEvaluation origin=null
@-1:-1..-1 FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
@-1:-1..-1 FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:@[FlexibleNullability] java.lang.Class<@[FlexibleNullability] <root>.E?>? [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@-1:-1..-1 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Unit [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
@39:0..41:1 FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:@[FlexibleNullability] java.lang.Class<@[FlexibleNullability] <root>.E?>? [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Unit [fake_override]
@39:0..41:1 VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@39:0..41:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.E
@43:0..45:1 CLASS OBJECT name:O modality:FINAL visibility:public superTypes:[kotlin.Any]
@43:0..45:1 CONSTRUCTOR visibility:private <> () returnType:<root>.O [primary]
@@ -90,11 +90,11 @@
@44:4..16 FUN name:foo visibility:public modality:FINAL <> ($this:<root>.O) returnType:kotlin.Unit
@44:4..16 VALUE_PARAMETER name:<this> type:<root>.O
@44:14..16 BLOCK_BODY
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@-1:-1..-1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@-1:-1..-1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
@43:0..45:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@43:0..45:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@43:0..45:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any?
@43:0..45:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
@43:0..45:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@43:0..45:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
@43:0..45:1 VALUE_PARAMETER name:<this> type:kotlin.Any
@43:0..45:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.O