[FIR2IR] Rework reordering condition to better handle synthetic class delegation fields
^KT-60243 Merge-request: KT-MR-11125 Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
66bbb9582c
commit
f7269eb384
+204
@@ -0,0 +1,204 @@
|
||||
FILE fqName:foo fileName:/delegationEvaluationOrder1.kt
|
||||
CLASS INTERFACE name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:foo.Base, x:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
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 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:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.BaseImpl
|
||||
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.BaseImpl [primary]
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 's: kotlin.String declared in foo.BaseImpl.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:foo.BaseImpl) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in foo.BaseImpl'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.<get-s>' type=foo.BaseImpl origin=null
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:foo.BaseImpl, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.BaseImpl'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="Base: "
|
||||
CALL 'public final fun <get-s> (): kotlin.String declared in foo.BaseImpl' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.foo' type=foo.BaseImpl origin=null
|
||||
CONST String type=kotlin.String value=":"
|
||||
GET_VAR 'x: kotlin.String declared in foo.BaseImpl.foo' type=kotlin.String 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 declared in foo.Base
|
||||
$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 foo.Base
|
||||
$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 foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]
|
||||
EXPRESSION_BODY
|
||||
CONST String type=kotlin.String value=""
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-global> visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-global> (): kotlin.String declared in foo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.String origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-global> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.Unit origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.String declared in foo.<set-global>' type=kotlin.String origin=null
|
||||
CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.DerivedBase
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.DerivedBase [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":DerivedBase"
|
||||
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 declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:newBase visibility:public modality:FINAL <> () returnType:foo.Base
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":newBase"
|
||||
RETURN type=kotlin.Nothing from='public final fun newBase (): foo.Base declared in foo'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in foo.BaseImpl' type=foo.BaseImpl origin=null
|
||||
s: CONST String type=kotlin.String value="test"
|
||||
CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base]'
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived declared in foo.Derived.foo' type=foo.Derived origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.DerivedBase
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base
|
||||
$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 foo.DerivedBase
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base
|
||||
$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 foo.DerivedBase
|
||||
public open fun toString (): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived1
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived1 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase]'
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived1, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived1
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived1'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived1 declared in foo.Derived1.foo' type=foo.Derived1 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived1.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.DerivedBase
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
BLOCK_BODY
|
||||
VAR name:d type:foo.Derived [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived' type=foo.Derived origin=null
|
||||
VAR name:d1 type:foo.Derived1 [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived1' type=foo.Derived1 origin=null
|
||||
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo'
|
||||
CONST String type=kotlin.String value="OK"
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
package foo
|
||||
|
||||
interface Base {
|
||||
abstract fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
class BaseImpl : Base {
|
||||
constructor(s: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val s: String
|
||||
field = s
|
||||
get
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return "Base: " + <this>.<get-s>() + ":" + x
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var global: String
|
||||
field = ""
|
||||
get
|
||||
set
|
||||
|
||||
open class DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":DerivedBase"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun newBase(): Base {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":newBase"))
|
||||
return BaseImpl(s = "test")
|
||||
}
|
||||
|
||||
class Derived : DerivedBase, Base {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Derived1 : Base, DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var d: Derived = Derived()
|
||||
var d1: Derived1 = Derived1()
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+208
@@ -0,0 +1,208 @@
|
||||
FILE fqName:foo fileName:/delegationEvaluationOrder1.kt
|
||||
CLASS INTERFACE name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:foo.Base, x:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
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 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:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.BaseImpl
|
||||
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.BaseImpl [primary]
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 's: kotlin.String declared in foo.BaseImpl.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:foo.BaseImpl) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in foo.BaseImpl'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.<get-s>' type=foo.BaseImpl origin=null
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:foo.BaseImpl, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.BaseImpl'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="Base: "
|
||||
CALL 'public final fun <get-s> (): kotlin.String declared in foo.BaseImpl' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.foo' type=foo.BaseImpl origin=null
|
||||
CONST String type=kotlin.String value=":"
|
||||
GET_VAR 'x: kotlin.String declared in foo.BaseImpl.foo' type=kotlin.String 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 declared in foo.Base
|
||||
$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 foo.Base
|
||||
$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 foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]
|
||||
EXPRESSION_BODY
|
||||
CONST String type=kotlin.String value=""
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-global> visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-global> (): kotlin.String declared in foo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.String origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-global> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.Unit origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.String declared in foo.<set-global>' type=kotlin.String origin=null
|
||||
CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.DerivedBase
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.DerivedBase [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":DerivedBase"
|
||||
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 declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:newBase visibility:public modality:FINAL <> () returnType:foo.Base
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":newBase"
|
||||
RETURN type=kotlin.Nothing from='public final fun newBase (): foo.Base declared in foo'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in foo.BaseImpl' type=foo.BaseImpl origin=null
|
||||
s: CONST String type=kotlin.String value="test"
|
||||
CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base]'
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived declared in foo.Derived.foo' type=foo.Derived origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived.foo' type=kotlin.String origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.DerivedBase
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base
|
||||
$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 foo.DerivedBase
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base
|
||||
$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 foo.DerivedBase
|
||||
public open fun toString (): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived1
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived1 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase]'
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived1, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived1
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived1'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived1 declared in foo.Derived1.foo' type=foo.Derived1 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived1.foo' type=kotlin.String origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.DerivedBase
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
BLOCK_BODY
|
||||
VAR name:d type:foo.Derived [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived' type=foo.Derived origin=null
|
||||
VAR name:d1 type:foo.Derived1 [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived1' type=foo.Derived1 origin=null
|
||||
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo'
|
||||
CONST String type=kotlin.String value="OK"
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package foo
|
||||
|
||||
interface Base {
|
||||
abstract fun foo(x: String): String
|
||||
}
|
||||
|
||||
class BaseImpl(val s: String) : Base {
|
||||
override fun foo(x: String): String = "Base: ${s}:${x}"
|
||||
}
|
||||
|
||||
var global = ""
|
||||
|
||||
open class DerivedBase() {
|
||||
init {
|
||||
global += ":DerivedBase"
|
||||
}
|
||||
}
|
||||
|
||||
fun newBase(): Base {
|
||||
global += ":newBase"
|
||||
return BaseImpl("test")
|
||||
}
|
||||
|
||||
class Derived() : DerivedBase(), Base by newBase() {
|
||||
init {
|
||||
global += ":Derived"
|
||||
}
|
||||
}
|
||||
|
||||
class Derived1() : Base by newBase(), DerivedBase() {
|
||||
init {
|
||||
global += ":Derived"
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var d = Derived()
|
||||
var d1 = Derived1()
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
package foo
|
||||
|
||||
interface Base {
|
||||
abstract fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
class BaseImpl : Base {
|
||||
constructor(s: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val s: String
|
||||
field = s
|
||||
get
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return "Base: " + <this>.<get-s>() + ":" + x
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var global: String
|
||||
field = ""
|
||||
get
|
||||
set
|
||||
|
||||
open class DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":DerivedBase"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun newBase(): Base {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":newBase"))
|
||||
}
|
||||
return BaseImpl(s = "test")
|
||||
}
|
||||
|
||||
class Derived : DerivedBase, Base {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Derived1 : Base, DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var d: Derived = Derived()
|
||||
var d1: Derived1 = Derived1()
|
||||
return "OK"
|
||||
}
|
||||
+168
@@ -0,0 +1,168 @@
|
||||
package foo
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo{}global
|
||||
// Public signature: foo/global|4288684431328455501[0]
|
||||
// Public signature debug description: {}global
|
||||
var global: String
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#<get-global>(){}kotlin.String
|
||||
// Public signature: foo/global.<get-global>|-6997244913903542523[0]
|
||||
// Public signature debug description: <get-global>(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#<get-global>(){}
|
||||
// Public signature: foo/global.<get-global>|7627852862574367240[0]
|
||||
// Public signature debug description: <get-global>(){}
|
||||
get
|
||||
// CHECK:
|
||||
// Mangled name: foo#<set-global>(kotlin.String){}
|
||||
// Public signature: foo/global.<set-global>|5315586845372819266[0]
|
||||
// Public signature debug description: <set-global>(kotlin.String){}
|
||||
set
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.BaseImpl
|
||||
// Public signature: foo/BaseImpl|null[0]
|
||||
class BaseImpl : Base {
|
||||
// CHECK:
|
||||
// Mangled name: foo.BaseImpl{}s
|
||||
// Public signature: foo/BaseImpl.s|7217541905509134881[0]
|
||||
// Public signature debug description: {}s
|
||||
val s: String
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.BaseImpl#<get-s>(){}kotlin.String
|
||||
// Public signature: foo/BaseImpl.s.<get-s>|4142379646177092803[0]
|
||||
// Public signature debug description: <get-s>(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.BaseImpl#<get-s>(){}
|
||||
// Public signature: foo/BaseImpl.s.<get-s>|-1662172381559511151[0]
|
||||
// Public signature debug description: <get-s>(){}
|
||||
get
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.BaseImpl#<init>(kotlin.String){}
|
||||
// Public signature: foo/BaseImpl.<init>|1280618353163213788[0]
|
||||
// Public signature debug description: <init>(kotlin.String){}
|
||||
constructor(s: String) /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.BaseImpl#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/BaseImpl.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.BaseImpl#foo(kotlin.String){}
|
||||
// Public signature: foo/BaseImpl.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived
|
||||
// Public signature: foo/Derived|null[0]
|
||||
class Derived : DerivedBase, Base {
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived#<init>(){}
|
||||
// Public signature: foo/Derived.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived.$$delegate_0
|
||||
// Public signature: foo/Derived.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived.$$delegate_0
|
||||
// Public signature: foo/Derived.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_0: Base
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived#foo(kotlin.String){}
|
||||
// Public signature: foo/Derived.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived1
|
||||
// Public signature: foo/Derived1|null[0]
|
||||
class Derived1 : DerivedBase, Base {
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived1#<init>(){}
|
||||
// Public signature: foo/Derived1.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived1.$$delegate_0
|
||||
// Public signature: foo/Derived1.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived1.$$delegate_0
|
||||
// Public signature: foo/Derived1.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_0: Base
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived1#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived1.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived1#foo(kotlin.String){}
|
||||
// Public signature: foo/Derived1.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.DerivedBase
|
||||
// Public signature: foo/DerivedBase|null[0]
|
||||
open class DerivedBase {
|
||||
// CHECK:
|
||||
// Mangled name: foo.DerivedBase#<init>(){}
|
||||
// Public signature: foo/DerivedBase.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Base
|
||||
// Public signature: foo/Base|null[0]
|
||||
interface Base {
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Base#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Base.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Base#foo(kotlin.String){}
|
||||
// Public signature: foo/Base.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
abstract fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#box(){}kotlin.String
|
||||
// Public signature: foo/box|-9347091776561469[0]
|
||||
// Public signature debug description: box(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#box(){}
|
||||
// Public signature: foo/box|2173511048851971368[0]
|
||||
// Public signature debug description: box(){}
|
||||
fun box(): String
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#newBase(){}foo.Base
|
||||
// Public signature: foo/newBase|4074800280318487147[0]
|
||||
// Public signature debug description: newBase(){}foo.Base
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#newBase(){}
|
||||
// Public signature: foo/newBase|-6094796879594303932[0]
|
||||
// Public signature debug description: newBase(){}
|
||||
fun newBase(): Base
|
||||
|
||||
+370
@@ -0,0 +1,370 @@
|
||||
FILE fqName:foo fileName:/delegationEvaluationOrder2.kt
|
||||
CLASS INTERFACE name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:foo.Base, x:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
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 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:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.BaseImpl
|
||||
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.BaseImpl [primary]
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 's: kotlin.String declared in foo.BaseImpl.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:foo.BaseImpl) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in foo.BaseImpl'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.<get-s>' type=foo.BaseImpl origin=null
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:foo.BaseImpl, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.BaseImpl'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="Base: "
|
||||
CALL 'public final fun <get-s> (): kotlin.String declared in foo.BaseImpl' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.foo' type=foo.BaseImpl origin=null
|
||||
CONST String type=kotlin.String value=":"
|
||||
GET_VAR 'x: kotlin.String declared in foo.BaseImpl.foo' type=kotlin.String 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 declared in foo.Base
|
||||
$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 foo.Base
|
||||
$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 foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS INTERFACE name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base2
|
||||
FUN name:bar visibility:public modality:ABSTRACT <> ($this:foo.Base2, x:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base2
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
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 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:Base2Impl modality:FINAL visibility:public superTypes:[foo.Base2]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base2Impl
|
||||
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.Base2Impl [primary]
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2Impl modality:FINAL visibility:public superTypes:[foo.Base2]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 's: kotlin.String declared in foo.Base2Impl.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:foo.Base2Impl) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base2Impl
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in foo.Base2Impl'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: foo.Base2Impl declared in foo.Base2Impl.<get-s>' type=foo.Base2Impl origin=null
|
||||
FUN name:bar visibility:public modality:OPEN <> ($this:foo.Base2Impl, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base2Impl
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Base2Impl'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="Base2: "
|
||||
CALL 'public final fun <get-s> (): kotlin.String declared in foo.Base2Impl' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: foo.Base2Impl declared in foo.Base2Impl.bar' type=foo.Base2Impl origin=null
|
||||
CONST String type=kotlin.String value=":"
|
||||
GET_VAR 'x: kotlin.String declared in foo.Base2Impl.bar' type=kotlin.String 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 declared in foo.Base2
|
||||
$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 foo.Base2
|
||||
$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 foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]
|
||||
EXPRESSION_BODY
|
||||
CONST String type=kotlin.String value=""
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-global> visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-global> (): kotlin.String declared in foo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.String origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-global> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.Unit origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.String declared in foo.<set-global>' type=kotlin.String origin=null
|
||||
CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.DerivedBase
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.DerivedBase [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":DerivedBase"
|
||||
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 declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:newBase visibility:public modality:FINAL <> () returnType:foo.Base
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":newBase"
|
||||
RETURN type=kotlin.Nothing from='public final fun newBase (): foo.Base declared in foo'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in foo.BaseImpl' type=foo.BaseImpl origin=null
|
||||
s: CONST String type=kotlin.String value="test"
|
||||
FUN name:newBase2 visibility:public modality:FINAL <> () returnType:foo.Base2
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":newBase2"
|
||||
RETURN type=kotlin.Nothing from='public final fun newBase2 (): foo.Base2 declared in foo'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in foo.Base2Impl' type=foo.Base2Impl origin=null
|
||||
s: CONST String type=kotlin.String value="test"
|
||||
CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base; foo.Base2]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base; foo.Base2]'
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived declared in foo.Derived.foo' type=foo.Derived origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:foo.Derived, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Derived'
|
||||
CALL 'public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]' type=foo.Base2 origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived declared in foo.Derived.bar' type=foo.Derived origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived.bar' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase2 (): foo.Base2 declared in foo' type=foo.Base2 origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.DerivedBase
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base2
|
||||
$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 foo.DerivedBase
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base2
|
||||
$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 foo.DerivedBase
|
||||
public open fun toString (): kotlin.String declared in foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase; foo.Base2]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived1
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived1 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase; foo.Base2]'
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived1, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived1
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived1'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived1 declared in foo.Derived1.foo' type=foo.Derived1 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived1.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:foo.Derived1, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived1
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Derived1'
|
||||
CALL 'public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]' type=foo.Base2 origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived1 declared in foo.Derived1.bar' type=foo.Derived1 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived1.bar' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase2 (): foo.Base2 declared in foo' type=foo.Base2 origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.DerivedBase
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base2
|
||||
$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 foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.DerivedBase
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base2
|
||||
$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 foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.DerivedBase
|
||||
public open fun toString (): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[foo.Base; foo.Base2; foo.DerivedBase]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived2
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived2 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[foo.Base; foo.Base2; foo.DerivedBase]'
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived2, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived2
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived2'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived2 declared in foo.Derived2.foo' type=foo.Derived2 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived2.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:foo.Derived2, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived2
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Derived2'
|
||||
CALL 'public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]' type=foo.Base2 origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived2 declared in foo.Derived2.bar' type=foo.Derived2 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived2.bar' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase2 (): foo.Base2 declared in foo' type=foo.Base2 origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=EQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=GET_PROPERTY
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base2
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base2
|
||||
public open fun hashCode (): kotlin.Int declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.Base2
|
||||
public open fun toString (): kotlin.String declared in foo.DerivedBase
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
BLOCK_BODY
|
||||
VAR name:d type:foo.Derived [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived' type=foo.Derived origin=null
|
||||
VAR name:d1 type:foo.Derived1 [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived1' type=foo.Derived1 origin=null
|
||||
VAR name:d2 type:foo.Derived2 [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived2' type=foo.Derived2 origin=null
|
||||
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo'
|
||||
CONST String type=kotlin.String value="OK"
|
||||
+150
@@ -0,0 +1,150 @@
|
||||
package foo
|
||||
|
||||
interface Base {
|
||||
abstract fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
class BaseImpl : Base {
|
||||
constructor(s: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val s: String
|
||||
field = s
|
||||
get
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return "Base: " + <this>.<get-s>() + ":" + x
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface Base2 {
|
||||
abstract fun bar(x: String): String
|
||||
|
||||
}
|
||||
|
||||
class Base2Impl : Base2 {
|
||||
constructor(s: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val s: String
|
||||
field = s
|
||||
get
|
||||
|
||||
override fun bar(x: String): String {
|
||||
return "Base2: " + <this>.<get-s>() + ":" + x
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var global: String
|
||||
field = ""
|
||||
get
|
||||
set
|
||||
|
||||
open class DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":DerivedBase"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun newBase(): Base {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":newBase"))
|
||||
return BaseImpl(s = "test")
|
||||
}
|
||||
|
||||
fun newBase2(): Base2 {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":newBase2"))
|
||||
return Base2Impl(s = "test")
|
||||
}
|
||||
|
||||
class Derived : DerivedBase, Base, Base2 {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun bar(x: String): String {
|
||||
return <this>.#$$delegate_1.bar(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_1: Base2 = newBase2()
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Derived1 : Base, DerivedBase, Base2 {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun bar(x: String): String {
|
||||
return <this>.#$$delegate_1.bar(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_1: Base2 = newBase2()
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Derived2 : Base, Base2, DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun bar(x: String): String {
|
||||
return <this>.#$$delegate_1.bar(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_1: Base2 = newBase2()
|
||||
init {
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var d: Derived = Derived()
|
||||
var d1: Derived1 = Derived1()
|
||||
var d2: Derived2 = Derived2()
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+376
@@ -0,0 +1,376 @@
|
||||
FILE fqName:foo fileName:/delegationEvaluationOrder2.kt
|
||||
CLASS INTERFACE name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:foo.Base, x:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
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 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:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.BaseImpl
|
||||
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.BaseImpl [primary]
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseImpl modality:FINAL visibility:public superTypes:[foo.Base]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 's: kotlin.String declared in foo.BaseImpl.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:foo.BaseImpl) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in foo.BaseImpl'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.<get-s>' type=foo.BaseImpl origin=null
|
||||
FUN name:foo visibility:public modality:OPEN <> ($this:foo.BaseImpl, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.BaseImpl
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.BaseImpl'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="Base: "
|
||||
CALL 'public final fun <get-s> (): kotlin.String declared in foo.BaseImpl' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: foo.BaseImpl declared in foo.BaseImpl.foo' type=foo.BaseImpl origin=null
|
||||
CONST String type=kotlin.String value=":"
|
||||
GET_VAR 'x: kotlin.String declared in foo.BaseImpl.foo' type=kotlin.String 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 declared in foo.Base
|
||||
$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 foo.Base
|
||||
$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 foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS INTERFACE name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base2
|
||||
FUN name:bar visibility:public modality:ABSTRACT <> ($this:foo.Base2, x:kotlin.String) returnType:kotlin.String
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base2
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
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 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:Base2Impl modality:FINAL visibility:public superTypes:[foo.Base2]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Base2Impl
|
||||
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:foo.Base2Impl [primary]
|
||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2Impl modality:FINAL visibility:public superTypes:[foo.Base2]'
|
||||
PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 's: kotlin.String declared in foo.Base2Impl.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:foo.Base2Impl) returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base2Impl
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in foo.Base2Impl'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
|
||||
receiver: GET_VAR '<this>: foo.Base2Impl declared in foo.Base2Impl.<get-s>' type=foo.Base2Impl origin=null
|
||||
FUN name:bar visibility:public modality:OPEN <> ($this:foo.Base2Impl, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Base2Impl
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Base2Impl'
|
||||
STRING_CONCATENATION type=kotlin.String
|
||||
CONST String type=kotlin.String value="Base2: "
|
||||
CALL 'public final fun <get-s> (): kotlin.String declared in foo.Base2Impl' type=kotlin.String origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: foo.Base2Impl declared in foo.Base2Impl.bar' type=foo.Base2Impl origin=null
|
||||
CONST String type=kotlin.String value=":"
|
||||
GET_VAR 'x: kotlin.String declared in foo.Base2Impl.bar' type=kotlin.String 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 declared in foo.Base2
|
||||
$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 foo.Base2
|
||||
$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 foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]
|
||||
EXPRESSION_BODY
|
||||
CONST String type=kotlin.String value=""
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-global> visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-global> (): kotlin.String declared in foo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.String origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-global> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:global visibility:public modality:FINAL [var]
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:global type:kotlin.String visibility:private [static]' type=kotlin.Unit origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.String declared in foo.<set-global>' type=kotlin.String origin=null
|
||||
CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.DerivedBase
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.DerivedBase [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DerivedBase modality:OPEN visibility:public superTypes:[kotlin.Any]'
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":DerivedBase"
|
||||
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 declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:newBase visibility:public modality:FINAL <> () returnType:foo.Base
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":newBase"
|
||||
RETURN type=kotlin.Nothing from='public final fun newBase (): foo.Base declared in foo'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in foo.BaseImpl' type=foo.BaseImpl origin=null
|
||||
s: CONST String type=kotlin.String value="test"
|
||||
FUN name:newBase2 visibility:public modality:FINAL <> () returnType:foo.Base2
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":newBase2"
|
||||
RETURN type=kotlin.Nothing from='public final fun newBase2 (): foo.Base2 declared in foo'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in foo.Base2Impl' type=foo.Base2Impl origin=null
|
||||
s: CONST String type=kotlin.String value="test"
|
||||
CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base; foo.Base2]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[foo.DerivedBase; foo.Base; foo.Base2]'
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived declared in foo.Derived.foo' type=foo.Derived origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase2 (): foo.Base2 declared in foo' type=foo.Base2 origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:foo.Derived, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Derived'
|
||||
CALL 'public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]' type=foo.Base2 origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived declared in foo.Derived.bar' type=foo.Derived origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived.bar' type=kotlin.String origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.DerivedBase
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base2
|
||||
$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 foo.DerivedBase
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base2
|
||||
$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 foo.DerivedBase
|
||||
public open fun toString (): kotlin.String declared in foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase; foo.Base2]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived1
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived1 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[foo.Base; foo.DerivedBase; foo.Base2]'
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived1, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived1
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived1'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived1 declared in foo.Derived1.foo' type=foo.Derived1 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived1.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase2 (): foo.Base2 declared in foo' type=foo.Base2 origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:foo.Derived1, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived1
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Derived1'
|
||||
CALL 'public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]' type=foo.Base2 origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived1 declared in foo.Derived1.bar' type=foo.Derived1 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived1.bar' type=kotlin.String origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.DerivedBase
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base2
|
||||
$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 foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.DerivedBase
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base2
|
||||
$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 foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.DerivedBase
|
||||
public open fun toString (): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[foo.Base; foo.Base2; foo.DerivedBase]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.Derived2
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.Derived2 [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.DerivedBase'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived2 modality:FINAL visibility:public superTypes:[foo.Base; foo.Base2; foo.DerivedBase]'
|
||||
FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase (): foo.Base declared in foo' type=foo.Base origin=null
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:foo.Derived2, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived2
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun foo (x: kotlin.String): kotlin.String declared in foo.Derived2'
|
||||
CALL 'public abstract fun foo (x: kotlin.String): kotlin.String declared in foo.Base' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:foo.Base visibility:private [final]' type=foo.Base origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived2 declared in foo.Derived2.foo' type=foo.Derived2 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived2.foo' type=kotlin.String origin=null
|
||||
FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun newBase2 (): foo.Base2 declared in foo' type=foo.Base2 origin=null
|
||||
FUN DELEGATED_MEMBER name:bar visibility:public modality:OPEN <> ($this:foo.Derived2, x:kotlin.String) returnType:kotlin.String
|
||||
overridden:
|
||||
public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.Derived2
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (x: kotlin.String): kotlin.String declared in foo.Derived2'
|
||||
CALL 'public abstract fun bar (x: kotlin.String): kotlin.String declared in foo.Base2' type=kotlin.String origin=null
|
||||
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_1 type:foo.Base2 visibility:private [final]' type=foo.Base2 origin=null
|
||||
receiver: GET_VAR '<this>: foo.Derived2 declared in foo.Derived2.bar' type=foo.Derived2 origin=null
|
||||
x: GET_VAR 'x: kotlin.String declared in foo.Derived2.bar' type=kotlin.String origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun <set-global> (<set-?>: kotlin.String): kotlin.Unit declared in foo' type=kotlin.Unit origin=PLUSEQ
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-global> (): kotlin.String declared in foo' type=kotlin.String origin=PLUSEQ
|
||||
other: CONST String type=kotlin.String value=":Derived"
|
||||
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 declared in foo.Base
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.Base2
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun hashCode (): kotlin.Int declared in foo.Base2
|
||||
public open fun hashCode (): kotlin.Int declared in foo.DerivedBase
|
||||
$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 foo.Base
|
||||
public open fun toString (): kotlin.String declared in foo.Base2
|
||||
public open fun toString (): kotlin.String declared in foo.DerivedBase
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
BLOCK_BODY
|
||||
VAR name:d type:foo.Derived [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived' type=foo.Derived origin=null
|
||||
VAR name:d1 type:foo.Derived1 [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived1' type=foo.Derived1 origin=null
|
||||
VAR name:d2 type:foo.Derived2 [var]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.Derived2' type=foo.Derived2 origin=null
|
||||
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in foo'
|
||||
CONST String type=kotlin.String value="OK"
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package foo
|
||||
|
||||
interface Base {
|
||||
abstract fun foo(x: String): String
|
||||
}
|
||||
|
||||
class BaseImpl(val s: String) : Base {
|
||||
override fun foo(x: String): String = "Base: ${s}:${x}"
|
||||
}
|
||||
|
||||
interface Base2 {
|
||||
abstract fun bar(x: String): String
|
||||
}
|
||||
|
||||
class Base2Impl(val s: String) : Base2 {
|
||||
override fun bar(x: String): String = "Base2: ${s}:${x}"
|
||||
}
|
||||
|
||||
var global = ""
|
||||
|
||||
open class DerivedBase() {
|
||||
init {
|
||||
global += ":DerivedBase"
|
||||
}
|
||||
}
|
||||
|
||||
fun newBase(): Base {
|
||||
global += ":newBase"
|
||||
return BaseImpl("test")
|
||||
}
|
||||
|
||||
fun newBase2(): Base2 {
|
||||
global += ":newBase2"
|
||||
return Base2Impl("test")
|
||||
}
|
||||
|
||||
class Derived() : DerivedBase(), Base by newBase(), Base2 by newBase2() {
|
||||
init {
|
||||
global += ":Derived"
|
||||
}
|
||||
}
|
||||
|
||||
class Derived1() : Base by newBase(), DerivedBase(), Base2 by newBase2() {
|
||||
init {
|
||||
global += ":Derived"
|
||||
}
|
||||
}
|
||||
|
||||
class Derived2() : Base by newBase(), Base2 by newBase2(), DerivedBase() {
|
||||
init {
|
||||
global += ":Derived"
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var d = Derived()
|
||||
var d1 = Derived1()
|
||||
var d2 = Derived2()
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
package foo
|
||||
|
||||
interface Base {
|
||||
abstract fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
class BaseImpl : Base {
|
||||
constructor(s: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val s: String
|
||||
field = s
|
||||
get
|
||||
|
||||
override fun foo(x: String): String {
|
||||
return "Base: " + <this>.<get-s>() + ":" + x
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface Base2 {
|
||||
abstract fun bar(x: String): String
|
||||
|
||||
}
|
||||
|
||||
class Base2Impl : Base2 {
|
||||
constructor(s: String) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val s: String
|
||||
field = s
|
||||
get
|
||||
|
||||
override fun bar(x: String): String {
|
||||
return "Base2: " + <this>.<get-s>() + ":" + x
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var global: String
|
||||
field = ""
|
||||
get
|
||||
set
|
||||
|
||||
open class DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":DerivedBase"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun newBase(): Base {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":newBase"))
|
||||
}
|
||||
return BaseImpl(s = "test")
|
||||
}
|
||||
|
||||
fun newBase2(): Base2 {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":newBase2"))
|
||||
}
|
||||
return Base2Impl(s = "test")
|
||||
}
|
||||
|
||||
class Derived : DerivedBase, Base, Base2 {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_1: Base2 = newBase2()
|
||||
override fun bar(x: String): String {
|
||||
return <this>.#$$delegate_1.bar(x = x)
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Derived1 : Base, DerivedBase, Base2 {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_1: Base2 = newBase2()
|
||||
override fun bar(x: String): String {
|
||||
return <this>.#$$delegate_1.bar(x = x)
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Derived2 : Base, Base2, DerivedBase {
|
||||
constructor() /* primary */ {
|
||||
super/*DerivedBase*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_0: Base = newBase()
|
||||
override fun foo(x: String): String {
|
||||
return <this>.#$$delegate_0.foo(x = x)
|
||||
}
|
||||
|
||||
private /* final field */ val $$delegate_1: Base2 = newBase2()
|
||||
override fun bar(x: String): String {
|
||||
return <this>.#$$delegate_1.bar(x = x)
|
||||
}
|
||||
|
||||
init {
|
||||
{ // BLOCK
|
||||
<set-global>(<set-?> = <get-global>().plus(other = ":Derived"))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var d: Derived = Derived()
|
||||
var d1: Derived1 = Derived1()
|
||||
var d2: Derived2 = Derived2()
|
||||
return "OK"
|
||||
}
|
||||
+319
@@ -0,0 +1,319 @@
|
||||
package foo
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo{}global
|
||||
// Public signature: foo/global|4288684431328455501[0]
|
||||
// Public signature debug description: {}global
|
||||
var global: String
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#<get-global>(){}kotlin.String
|
||||
// Public signature: foo/global.<get-global>|-6997244913903542523[0]
|
||||
// Public signature debug description: <get-global>(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#<get-global>(){}
|
||||
// Public signature: foo/global.<get-global>|7627852862574367240[0]
|
||||
// Public signature debug description: <get-global>(){}
|
||||
get
|
||||
// CHECK:
|
||||
// Mangled name: foo#<set-global>(kotlin.String){}
|
||||
// Public signature: foo/global.<set-global>|5315586845372819266[0]
|
||||
// Public signature debug description: <set-global>(kotlin.String){}
|
||||
set
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Base2Impl
|
||||
// Public signature: foo/Base2Impl|null[0]
|
||||
class Base2Impl : Base2 {
|
||||
// CHECK:
|
||||
// Mangled name: foo.Base2Impl{}s
|
||||
// Public signature: foo/Base2Impl.s|7217541905509134881[0]
|
||||
// Public signature debug description: {}s
|
||||
val s: String
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Base2Impl#<get-s>(){}kotlin.String
|
||||
// Public signature: foo/Base2Impl.s.<get-s>|4142379646177092803[0]
|
||||
// Public signature debug description: <get-s>(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Base2Impl#<get-s>(){}
|
||||
// Public signature: foo/Base2Impl.s.<get-s>|-1662172381559511151[0]
|
||||
// Public signature debug description: <get-s>(){}
|
||||
get
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Base2Impl#<init>(kotlin.String){}
|
||||
// Public signature: foo/Base2Impl.<init>|1280618353163213788[0]
|
||||
// Public signature debug description: <init>(kotlin.String){}
|
||||
constructor(s: String) /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Base2Impl#bar(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Base2Impl.bar|2000415168157940991[0]
|
||||
// Public signature debug description: bar(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Base2Impl#bar(kotlin.String){}
|
||||
// Public signature: foo/Base2Impl.bar|5132770888056479978[0]
|
||||
// Public signature debug description: bar(kotlin.String){}
|
||||
override fun bar(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.BaseImpl
|
||||
// Public signature: foo/BaseImpl|null[0]
|
||||
class BaseImpl : Base {
|
||||
// CHECK:
|
||||
// Mangled name: foo.BaseImpl{}s
|
||||
// Public signature: foo/BaseImpl.s|7217541905509134881[0]
|
||||
// Public signature debug description: {}s
|
||||
val s: String
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.BaseImpl#<get-s>(){}kotlin.String
|
||||
// Public signature: foo/BaseImpl.s.<get-s>|4142379646177092803[0]
|
||||
// Public signature debug description: <get-s>(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.BaseImpl#<get-s>(){}
|
||||
// Public signature: foo/BaseImpl.s.<get-s>|-1662172381559511151[0]
|
||||
// Public signature debug description: <get-s>(){}
|
||||
get
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.BaseImpl#<init>(kotlin.String){}
|
||||
// Public signature: foo/BaseImpl.<init>|1280618353163213788[0]
|
||||
// Public signature debug description: <init>(kotlin.String){}
|
||||
constructor(s: String) /* primary */
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.BaseImpl#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/BaseImpl.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.BaseImpl#foo(kotlin.String){}
|
||||
// Public signature: foo/BaseImpl.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived
|
||||
// Public signature: foo/Derived|null[0]
|
||||
class Derived : DerivedBase, Base, Base2 {
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived#<init>(){}
|
||||
// Public signature: foo/Derived.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived.$$delegate_0
|
||||
// Public signature: foo/Derived.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived.$$delegate_0
|
||||
// Public signature: foo/Derived.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_0: Base
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived.$$delegate_1
|
||||
// Public signature: foo/Derived.$$delegate_1|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived.$$delegate_1
|
||||
// Public signature: foo/Derived.$$delegate_1|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_1: Base2
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived#bar(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived.bar|2000415168157940991[0]
|
||||
// Public signature debug description: bar(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived#bar(kotlin.String){}
|
||||
// Public signature: foo/Derived.bar|5132770888056479978[0]
|
||||
// Public signature debug description: bar(kotlin.String){}
|
||||
override fun bar(x: String): String
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived#foo(kotlin.String){}
|
||||
// Public signature: foo/Derived.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived1
|
||||
// Public signature: foo/Derived1|null[0]
|
||||
class Derived1 : DerivedBase, Base, Base2 {
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived1#<init>(){}
|
||||
// Public signature: foo/Derived1.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived1.$$delegate_0
|
||||
// Public signature: foo/Derived1.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived1.$$delegate_0
|
||||
// Public signature: foo/Derived1.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_0: Base
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived1.$$delegate_1
|
||||
// Public signature: foo/Derived1.$$delegate_1|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived1.$$delegate_1
|
||||
// Public signature: foo/Derived1.$$delegate_1|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_1: Base2
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived1#bar(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived1.bar|2000415168157940991[0]
|
||||
// Public signature debug description: bar(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived1#bar(kotlin.String){}
|
||||
// Public signature: foo/Derived1.bar|5132770888056479978[0]
|
||||
// Public signature debug description: bar(kotlin.String){}
|
||||
override fun bar(x: String): String
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived1#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived1.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived1#foo(kotlin.String){}
|
||||
// Public signature: foo/Derived1.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived2
|
||||
// Public signature: foo/Derived2|null[0]
|
||||
class Derived2 : DerivedBase, Base, Base2 {
|
||||
// CHECK:
|
||||
// Mangled name: foo.Derived2#<init>(){}
|
||||
// Public signature: foo/Derived2.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived2.$$delegate_0
|
||||
// Public signature: foo/Derived2.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived2.$$delegate_0
|
||||
// Public signature: foo/Derived2.$$delegate_0|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_0: Base
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived2.$$delegate_1
|
||||
// Public signature: foo/Derived2.$$delegate_1|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived2.$$delegate_1
|
||||
// Public signature: foo/Derived2.$$delegate_1|-7286425919675154353[0]
|
||||
// Public signature debug description:
|
||||
private /* final field */ val $$delegate_1: Base2
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived2#bar(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived2.bar|2000415168157940991[0]
|
||||
// Public signature debug description: bar(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived2#bar(kotlin.String){}
|
||||
// Public signature: foo/Derived2.bar|5132770888056479978[0]
|
||||
// Public signature debug description: bar(kotlin.String){}
|
||||
override fun bar(x: String): String
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Derived2#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Derived2.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Derived2#foo(kotlin.String){}
|
||||
// Public signature: foo/Derived2.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
override fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.DerivedBase
|
||||
// Public signature: foo/DerivedBase|null[0]
|
||||
open class DerivedBase {
|
||||
// CHECK:
|
||||
// Mangled name: foo.DerivedBase#<init>(){}
|
||||
// Public signature: foo/DerivedBase.<init>|-5645683436151566731[0]
|
||||
// Public signature debug description: <init>(){}
|
||||
constructor() /* primary */
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Base
|
||||
// Public signature: foo/Base|null[0]
|
||||
interface Base {
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Base#foo(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Base.foo|-5534735991146511619[0]
|
||||
// Public signature debug description: foo(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Base#foo(kotlin.String){}
|
||||
// Public signature: foo/Base.foo|1351044947738582195[0]
|
||||
// Public signature debug description: foo(kotlin.String){}
|
||||
abstract fun foo(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.Base2
|
||||
// Public signature: foo/Base2|null[0]
|
||||
interface Base2 {
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.Base2#bar(kotlin.String){}kotlin.String
|
||||
// Public signature: foo/Base2.bar|2000415168157940991[0]
|
||||
// Public signature debug description: bar(kotlin.String){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.Base2#bar(kotlin.String){}
|
||||
// Public signature: foo/Base2.bar|5132770888056479978[0]
|
||||
// Public signature debug description: bar(kotlin.String){}
|
||||
abstract fun bar(x: String): String
|
||||
|
||||
}
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#box(){}kotlin.String
|
||||
// Public signature: foo/box|-9347091776561469[0]
|
||||
// Public signature debug description: box(){}kotlin.String
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#box(){}
|
||||
// Public signature: foo/box|2173511048851971368[0]
|
||||
// Public signature debug description: box(){}
|
||||
fun box(): String
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#newBase(){}foo.Base
|
||||
// Public signature: foo/newBase|4074800280318487147[0]
|
||||
// Public signature debug description: newBase(){}foo.Base
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#newBase(){}
|
||||
// Public signature: foo/newBase|-6094796879594303932[0]
|
||||
// Public signature debug description: newBase(){}
|
||||
fun newBase(): Base
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#newBase2(){}foo.Base2
|
||||
// Public signature: foo/newBase2|2155458060891401186[0]
|
||||
// Public signature debug description: newBase2(){}foo.Base2
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#newBase2(){}
|
||||
// Public signature: foo/newBase2|-3649949204944094884[0]
|
||||
// Public signature debug description: newBase2(){}
|
||||
fun newBase2(): Base2
|
||||
|
||||
Reference in New Issue
Block a user