[TD] Union ir dumps of different test files

This commit is contained in:
Dmitriy Novozhilov
2021-01-20 17:29:53 +03:00
committed by TeamCityServer
parent 4752924b13
commit 77115cea92
32 changed files with 556 additions and 286 deletions
@@ -0,0 +1,172 @@
open class Base<T : Any?> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
fun foo(x: T) {
}
fun foo(y: String) {
}
val T.bar: Int
get(): Int {
return 1
}
val String.bar: Int
get(): Int {
return 2
}
}
open class Derived : Base<String> {
constructor() /* primary */ {
super/*Base*/<String>()
/* <init>() */
}
}
class Derived2 : Derived {
constructor() /* primary */ {
super/*Derived*/()
/* <init>() */
}
}
fun test(b: Base<String>, d: Derived, d2: Derived2) {
b.foo(x = "")
b.foo(y = "")
d.foo(x = "")
d.foo(y = "")
d2.foo(x = "")
d2.foo(y = "")
}
open class BaseXY<X : Any?, Y : Any?> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
fun foo(x: X, y: String) {
}
fun foo(x: String, y: Y) {
}
}
class DerivedXY : BaseXY<String, String> {
constructor() /* primary */ {
super/*BaseXY*/<String, String>()
/* <init>() */
}
}
fun outerFun() {
local open class LocalBase<T : Any?> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
fun foo(x: T) {
}
fun foo(y: String) {
}
val T.bar: Int
get(): Int {
return 1
}
val String.bar: Int
get(): Int {
return 2
}
}
local open class LocalDerived : LocalBase<String> {
constructor() /* primary */ {
super/*LocalBase*/<String>()
/* <init>() */
}
}
local class LocalDerived2 : LocalDerived {
constructor() /* primary */ {
super/*LocalDerived*/()
/* <init>() */
}
}
local fun test(b: LocalBase<String>, d: LocalDerived, d2: LocalDerived2) {
b.foo(x = "")
b.foo(y = "")
d.foo(x = "")
d.foo(y = "")
d2.foo(x = "")
d2.foo(y = "")
}
}
open class Outer<T : Any?> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
open inner class Inner {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
fun foo(x: T) {
}
fun foo(y: String) {
}
}
}
class OuterDerived : Outer<String> {
constructor() /* primary */ {
super/*Outer*/<String>()
/* <init>() */
}
inner class InnerDerived : Inner<String> {
constructor() /* primary */ {
<this>.super/*Inner*/()
/* <init>() */
}
}
}
@@ -37,3 +37,39 @@ FILE fqName:test1 fileName:/kt19306_test1.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FILE fqName:test2 fileName:/kt19306_test2.kt
CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test2.B
CONSTRUCTOR visibility:public <> () returnType:test2.B [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in test1.A'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]'
FUN name:test visibility:public modality:FINAL <> ($this:test2.B) returnType:kotlin.Function0<kotlin.String>
$this: VALUE_PARAMETER name:<this> type:test2.B
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Function0<kotlin.String> declared in test2.B'
FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in test2.B.test'
CALL 'protected final fun <get-p> (): kotlin.String declared in test1.A' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR '<this>: test2.B declared in test2.B.test' type=test2.B origin=null
PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
FUN FAKE_OVERRIDE name:<get-p> visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
overridden:
protected final fun <get-p> (): kotlin.String declared in test1.A
$this: VALUE_PARAMETER name:<this> type:test1.A
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -37,3 +37,39 @@ FILE fqName:test1 fileName:/kt19306_test1.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FILE fqName:test2 fileName:/kt19306_test2.kt
CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test2.B
CONSTRUCTOR visibility:public <> () returnType:test2.B [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in test1.A'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]'
FUN name:test visibility:public modality:FINAL <> ($this:test2.B) returnType:kotlin.Function0<kotlin.String>
$this: VALUE_PARAMETER name:<this> type:test2.B
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Function0<kotlin.String> declared in test2.B'
FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in test2.B.test'
CALL 'protected final fun <get-p> (): kotlin.String [fake_override] declared in test2.B' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR '<this>: test2.B declared in test2.B.test' type=test2.B origin=null
PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
FUN FAKE_OVERRIDE name:<get-p> visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
overridden:
protected final fun <get-p> (): kotlin.String declared in test1.A
$this: VALUE_PARAMETER name:<this> type:test1.A
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in test1.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int [fake_override] declared in test1.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String [fake_override] declared in test1.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -1,36 +0,0 @@
FILE fqName:test2 fileName:/kt19306_test2.kt
CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test2.B
CONSTRUCTOR visibility:public <> () returnType:test2.B [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in test1.A'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]'
FUN name:test visibility:public modality:FINAL <> ($this:test2.B) returnType:kotlin.Function0<kotlin.String>
$this: VALUE_PARAMETER name:<this> type:test2.B
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Function0<kotlin.String> declared in test2.B'
FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in test2.B.test'
CALL 'protected final fun <get-p> (): kotlin.String declared in test1.A' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR '<this>: test2.B declared in test2.B.test' type=test2.B origin=null
PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
FUN FAKE_OVERRIDE name:<get-p> visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
overridden:
protected final fun <get-p> (): kotlin.String declared in test1.A
$this: VALUE_PARAMETER name:<this> type:test1.A
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
-36
View File
@@ -1,36 +0,0 @@
FILE fqName:test2 fileName:/kt19306_test2.kt
CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test2.B
CONSTRUCTOR visibility:public <> () returnType:test2.B [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in test1.A'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[test1.A]'
FUN name:test visibility:public modality:FINAL <> ($this:test2.B) returnType:kotlin.Function0<kotlin.String>
$this: VALUE_PARAMETER name:<this> type:test2.B
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test (): kotlin.Function0<kotlin.String> declared in test2.B'
FUN_EXPR type=kotlin.Function0<kotlin.String> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in test2.B.test'
CALL 'protected final fun <get-p> (): kotlin.String [fake_override] declared in test2.B' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR '<this>: test2.B declared in test2.B.test' type=test2.B origin=null
PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
FUN FAKE_OVERRIDE name:<get-p> visibility:protected modality:FINAL <> ($this:test1.A) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:p visibility:protected modality:FINAL [fake_override,var]
overridden:
protected final fun <get-p> (): kotlin.String declared in test1.A
$this: VALUE_PARAMETER name:<this> type:test1.A
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in test1.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int [fake_override] declared in test1.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String [fake_override] declared in test1.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -14,4 +14,3 @@ fun <F : Any?> test(j: J<F>) {
tmp2_receiver.setFoo<F>(x = tmp2_receiver.getFoo<F>().plus(other = 1))
}
}
@@ -1,3 +1,13 @@
// FILE: signedToUnsignedConversions_annotation.kt
package kotlin.internal
annotation class ImplicitIntegerCoercion : Annotation {
constructor() /* primary */
}
// FILE: signedToUnsignedConversions_test.kt
@ImplicitIntegerCoercion
const val IMPLICIT_INT: Int
field = 255
@@ -55,4 +65,3 @@ fun test() {
error("") /* ErrorCallExpression */255;
error("") /* ErrorCallExpression */255; 255; 42;
}
@@ -1,3 +1,20 @@
FILE fqName:kotlin.internal fileName:/signedToUnsignedConversions_annotation.kt
CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:kotlin.internal.ImplicitIntegerCoercion
CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion [primary]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FILE fqName:<root> fileName:/signedToUnsignedConversions_test.kt
PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL [const,val]
annotations:
@@ -1,3 +1,20 @@
FILE fqName:kotlin.internal fileName:/signedToUnsignedConversions_annotation.kt
CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:kotlin.internal.ImplicitIntegerCoercion
CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion [primary]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FILE fqName:<root> fileName:/signedToUnsignedConversions_test.kt
PROPERTY name:IMPLICIT_INT visibility:public modality:FINAL [const,val]
annotations:
@@ -98,27 +115,27 @@ FILE fqName:<root> fileName:/signedToUnsignedConversions_test.kt
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CALL 'public final fun takeUByte (u: kotlin.UByte): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin' type=kotlin.UByte origin=null
u: CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin.UByteKt' type=kotlin.UByte origin=null
$receiver: CALL 'public final fun <get-IMPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun takeUByte (u: kotlin.UByte): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin' type=kotlin.UByte origin=null
u: CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin.UByteKt' type=kotlin.UByte origin=null
$receiver: CALL 'public final fun <get-EXPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun takeUShort (u: kotlin.UShort): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: CALL 'public final fun toUShort (): kotlin.UShort [inline] declared in kotlin' type=kotlin.UShort origin=null
u: CALL 'public final fun toUShort (): kotlin.UShort [inline] declared in kotlin.UShortKt' type=kotlin.UShort origin=null
$receiver: CALL 'public final fun <get-IMPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun takeUShort (u: kotlin.UShort): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: CALL 'public final fun toUShort (): kotlin.UShort [inline] declared in kotlin' type=kotlin.UShort origin=null
u: CALL 'public final fun toUShort (): kotlin.UShort [inline] declared in kotlin.UShortKt' type=kotlin.UShort origin=null
$receiver: CALL 'public final fun <get-BIGGER_THAN_UBYTE> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun takeUInt (u: kotlin.UInt): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: CALL 'public final fun toUInt (): kotlin.UInt [inline] declared in kotlin' type=kotlin.UInt origin=null
u: CALL 'public final fun toUInt (): kotlin.UInt [inline] declared in kotlin.UIntKt' type=kotlin.UInt origin=null
$receiver: CALL 'public final fun <get-IMPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun takeULong (u: kotlin.ULong): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: CALL 'public final fun toULong (): kotlin.ULong [inline] declared in kotlin' type=kotlin.ULong origin=null
u: CALL 'public final fun toULong (): kotlin.ULong [inline] declared in kotlin.ULongKt' type=kotlin.ULong origin=null
$receiver: CALL 'public final fun <get-IMPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun takeUBytes (vararg u: kotlin.UByte): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
u: VARARG type=kotlin.UByteArray varargElementType=kotlin.UByte
CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin' type=kotlin.UByte origin=null
CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin.UByteKt' type=kotlin.UByte origin=null
$receiver: CALL 'public final fun <get-IMPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin' type=kotlin.UByte origin=null
CALL 'public final fun toUByte (): kotlin.UByte [inline] declared in kotlin.UByteKt' type=kotlin.UByte origin=null
$receiver: CALL 'public final fun <get-EXPLICIT_INT> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
CONST Byte type=kotlin.UByte value=42
@@ -1,6 +0,0 @@
package kotlin.internal
annotation class ImplicitIntegerCoercion : Annotation {
constructor() /* primary */
}
@@ -1,17 +0,0 @@
FILE fqName:kotlin.internal fileName:/signedToUnsignedConversions_annotation.kt
CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:kotlin.internal.ImplicitIntegerCoercion
CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion [primary]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -1,17 +0,0 @@
FILE fqName:kotlin.internal fileName:/signedToUnsignedConversions_annotation.kt
CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:kotlin.internal.ImplicitIntegerCoercion
CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion [primary]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -1,3 +1,22 @@
// MODULE: m1
// FILE: BaseFirBuilder.kt
abstract class BaseFirBuilder<T : Any?> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
inline fun <T : Any?> withCapturedTypeParameters(block: Function0<T>): T {
return block.invoke()
}
}
// MODULE: m2
// FILE: FirBuilder.kt
open class BaseConverter : BaseFirBuilder<Any> {
constructor() /* primary */ {
super/*BaseFirBuilder*/<Any>()
@@ -15,3 +34,4 @@ class DeclarationsConverter : BaseConverter {
}
}
@@ -1,3 +1,34 @@
Module: m1
FILE fqName:<root> fileName:/BaseFirBuilder.kt
CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
FUN name:withCapturedTypeParameters visibility:public modality:FINAL <T> ($this:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder>, block:kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters>) returnType:T of <root>.BaseFirBuilder.withCapturedTypeParameters [inline]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder>
VALUE_PARAMETER name:block index:0 type:kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun withCapturedTypeParameters <T> (block: kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters>): T of <root>.BaseFirBuilder.withCapturedTypeParameters [inline] declared in <root>.BaseFirBuilder'
CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=T of <root>.BaseFirBuilder.withCapturedTypeParameters origin=INVOKE
$this: GET_VAR 'block: kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters> declared in <root>.BaseFirBuilder.withCapturedTypeParameters' type=kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters> origin=VARIABLE_AS_FUNCTION
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
Module: m2
FILE fqName:<root> fileName:/FirBuilder.kt
CLASS CLASS name:BaseConverter modality:OPEN visibility:public superTypes:[<root>.BaseFirBuilder<kotlin.Any>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.BaseConverter
+31
View File
@@ -1,3 +1,34 @@
Module: m1
FILE fqName:<root> fileName:/BaseFirBuilder.kt
CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
FUN name:withCapturedTypeParameters visibility:public modality:FINAL <T> ($this:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder>, block:kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters>) returnType:T of <root>.BaseFirBuilder.withCapturedTypeParameters [inline]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.BaseFirBuilder<T of <root>.BaseFirBuilder>
VALUE_PARAMETER name:block index:0 type:kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun withCapturedTypeParameters <T> (block: kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters>): T of <root>.BaseFirBuilder.withCapturedTypeParameters [inline] declared in <root>.BaseFirBuilder'
CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=T of <root>.BaseFirBuilder.withCapturedTypeParameters origin=INVOKE
$this: GET_VAR 'block: kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters> declared in <root>.BaseFirBuilder.withCapturedTypeParameters' type=kotlin.Function0<T of <root>.BaseFirBuilder.withCapturedTypeParameters> origin=VARIABLE_AS_FUNCTION
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
Module: m2
FILE fqName:<root> fileName:/FirBuilder.kt
CLASS CLASS name:BaseConverter modality:OPEN visibility:public superTypes:[<root>.BaseFirBuilder<kotlin.Any>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.BaseConverter
@@ -0,0 +1,52 @@
// MODULE: m1
// FILE: genericClassInDifferentModule_m1.kt
abstract class Base<T : Any?> {
constructor(x: T) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: T
field = x
get
abstract fun <Y : Any?> foo(y: Y): T
abstract var bar: T
abstract get
abstract set
abstract var <Z : Any?> Z.exn: T
abstract get
abstract set
}
// MODULE: m2
// FILE: genericClassInDifferentModule_m2.kt
class Derived1<T : Any?> : Base<T> {
constructor(x: T) /* primary */ {
super/*Base*/<T>(x = x)
/* <init>() */
}
override fun <Y : Any?> foo(y: Y): T {
return <this>.<get-x>()
}
override var bar: T
field = x
override get
override set
override var <Z : Any?> Z.exn: T
override get(): T {
return <this>.<get-x>()
}
override set(value: T) {
}
}
@@ -1,3 +1,62 @@
Module: m1
FILE fqName:<root> fileName:/genericClassInDifferentModule_m1.kt
CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base<T of <root>.Base>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T of <root>.Base) returnType:<root>.Base<T of <root>.Base> [primary]
VALUE_PARAMETER name:x index:0 type:T of <root>.Base
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: T of <root>.Base declared in <root>.Base.<init>' type=T of <root>.Base origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): T of <root>.Base declared in <root>.Base'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]' type=T of <root>.Base origin=null
receiver: GET_VAR '<this>: <root>.Base<T of <root>.Base> declared in <root>.Base.<get-x>' type=<root>.Base<T of <root>.Base> origin=null
FUN name:foo visibility:public modality:ABSTRACT <Y> ($this:<root>.Base<T of <root>.Base>, y:Y of <root>.Base.foo) returnType:T of <root>.Base
TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:y index:0 type:Y of <root>.Base.foo
PROPERTY name:bar visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
PROPERTY name:exn visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<get-exn>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<get-exn>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<set-exn>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<set-exn>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
Module: m2
FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[<root>.Base<T of <root>.Derived1>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived1<T of <root>.Derived1>
@@ -26,7 +85,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:FINAL <> ($this:<root>.Derived1<T of <root>.Derived1>) returnType:T of <root>.Derived1
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var]
overridden:
public abstract fun <get-bar> (): T of <root>.Base declared in <root>.Base
public final fun <get-bar> (): T of <root>.Base declared in <root>.Base
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-bar> (): T of <root>.Derived1 declared in <root>.Derived1'
@@ -35,7 +94,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-bar> visibility:public modality:FINAL <> ($this:<root>.Derived1<T of <root>.Derived1>, <set-?>:T of <root>.Derived1) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var]
overridden:
public abstract fun <set-bar> (<set-?>: T of <root>.Base): kotlin.Unit declared in <root>.Base
public final fun <set-bar> (<set-?>: T of <root>.Base): kotlin.Unit declared in <root>.Base
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Derived1
BLOCK_BODY
@@ -46,7 +105,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
FUN name:<get-exn> visibility:public modality:FINAL <Z> ($this:<root>.Derived1<T of <root>.Derived1>, $receiver:Z of <root>.Derived1.<get-exn>) returnType:T of <root>.Derived1
correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var]
overridden:
public abstract fun <get-exn> <Z> (): T of <root>.Base declared in <root>.Base
public final fun <get-exn> <Z> (): T of <root>.Base declared in <root>.Base
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<get-exn>
@@ -57,7 +116,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
FUN name:<set-exn> visibility:public modality:FINAL <Z> ($this:<root>.Derived1<T of <root>.Derived1>, $receiver:Z of <root>.Derived1.<set-exn>, value:T of <root>.Derived1) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var]
overridden:
public abstract fun <set-exn> <Z> (<set-?>: T of <root>.Base): kotlin.Unit declared in <root>.Base
public final fun <set-exn> <Z> (<set-?>: T of <root>.Base): kotlin.Unit declared in <root>.Base
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<set-exn>
@@ -1,3 +1,62 @@
Module: m1
FILE fqName:<root> fileName:/genericClassInDifferentModule_m1.kt
CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base<T of <root>.Base>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T of <root>.Base) returnType:<root>.Base<T of <root>.Base> [primary]
VALUE_PARAMETER name:x index:0 type:T of <root>.Base
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: T of <root>.Base declared in <root>.Base.<init>' type=T of <root>.Base origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): T of <root>.Base declared in <root>.Base'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]' type=T of <root>.Base origin=null
receiver: GET_VAR '<this>: <root>.Base<T of <root>.Base> declared in <root>.Base.<get-x>' type=<root>.Base<T of <root>.Base> origin=null
FUN name:foo visibility:public modality:ABSTRACT <Y> ($this:<root>.Base<T of <root>.Base>, y:Y of <root>.Base.foo) returnType:T of <root>.Base
TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:y index:0 type:Y of <root>.Base.foo
PROPERTY name:bar visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
PROPERTY name:exn visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<get-exn>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<get-exn>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<set-exn>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<set-exn>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
Module: m2
FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[<root>.Base<T of <root>.Derived1>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived1<T of <root>.Derived1>
@@ -1,21 +0,0 @@
abstract class Base<T : Any?> {
constructor(x: T) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: T
field = x
get
abstract fun <Y : Any?> foo(y: Y): T
abstract var bar: T
abstract get
abstract set
abstract var <Z : Any?> Z.exn: T
abstract get
abstract set
}
@@ -1,57 +0,0 @@
FILE fqName:<root> fileName:/genericClassInDifferentModule_m1.kt
CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base<T of <root>.Base>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T of <root>.Base) returnType:<root>.Base<T of <root>.Base> [primary]
VALUE_PARAMETER name:x index:0 type:T of <root>.Base
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: T of <root>.Base declared in <root>.Base.<init>' type=T of <root>.Base origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): T of <root>.Base declared in <root>.Base'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]' type=T of <root>.Base origin=null
receiver: GET_VAR '<this>: <root>.Base<T of <root>.Base> declared in <root>.Base.<get-x>' type=<root>.Base<T of <root>.Base> origin=null
FUN name:foo visibility:public modality:ABSTRACT <Y> ($this:<root>.Base<T of <root>.Base>, y:Y of <root>.Base.foo) returnType:T of <root>.Base
TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:y index:0 type:Y of <root>.Base.foo
PROPERTY name:bar visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
PROPERTY name:exn visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<get-exn>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<get-exn>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<set-exn>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<set-exn>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -1,57 +0,0 @@
FILE fqName:<root> fileName:/genericClassInDifferentModule_m1.kt
CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base<T of <root>.Base>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T of <root>.Base) returnType:<root>.Base<T of <root>.Base> [primary]
VALUE_PARAMETER name:x index:0 type:T of <root>.Base
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: T of <root>.Base declared in <root>.Base.<init>' type=T of <root>.Base origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): T of <root>.Base declared in <root>.Base'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Base visibility:private [final]' type=T of <root>.Base origin=null
receiver: GET_VAR '<this>: <root>.Base<T of <root>.Base> declared in <root>.Base.<get-x>' type=<root>.Base<T of <root>.Base> origin=null
FUN name:foo visibility:public modality:ABSTRACT <Y> ($this:<root>.Base<T of <root>.Base>, y:Y of <root>.Base.foo) returnType:T of <root>.Base
TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:y index:0 type:Y of <root>.Base.foo
PROPERTY name:bar visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Base<T of <root>.Base>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
PROPERTY name:exn visibility:public modality:ABSTRACT [var]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<get-exn>) returnType:T of <root>.Base
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<get-exn>
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-exn> visibility:public modality:ABSTRACT <Z> ($this:<root>.Base<T of <root>.Base>, $receiver:Z of <root>.Base.<set-exn>, <set-?>:T of <root>.Base) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Base<T of <root>.Base>
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Base.<set-exn>
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Base
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -1,24 +0,0 @@
class Derived1<T : Any?> : Base<T> {
constructor(x: T) /* primary */ {
super/*Base*/<T>(x = x)
/* <init>() */
}
override fun <Y : Any?> foo(y: Y): T {
return <this>.<get-x>()
}
override var bar: T
field = x
override get
override set
override var <Z : Any?> Z.exn: T
override get(): T {
return <this>.<get-x>()
}
override set(value: T) {
}
}
@@ -75,7 +75,10 @@ open class AbstractFir2IrTextTest : AbstractIrTextTestBase(FrontendKinds.FIR) {
override fun configure(builder: TestConfigurationBuilder) {
super.configure(builder)
with(builder) {
useAfterAnalysisCheckers(::FirIrDumpIdenticalChecker)
useAfterAnalysisCheckers(
::FirIrDumpIdenticalChecker,
::BlackBoxCodegenSuppressor
)
}
}
}