FIR2IR: Fix mapping for intersection overrides of deserialized properties
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// WASM_MUTE_REASON: STDLIB_COLLECTIONS
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// IGNORE_BACKEND: NATIVE
|
||||
|
||||
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: A.kt
|
||||
package a
|
||||
|
||||
interface IrSymbol {
|
||||
val owner: Any
|
||||
}
|
||||
|
||||
interface IrFunction
|
||||
interface IrSimpleFunction : IrFunction {
|
||||
val name: String
|
||||
}
|
||||
|
||||
interface IrFunctionSymbol : IrSymbol {
|
||||
override val owner: IrFunction
|
||||
}
|
||||
|
||||
interface IrBindableSymbol<B : Any> : IrSymbol {
|
||||
override val owner: B
|
||||
}
|
||||
|
||||
interface IrSimpleFunctionSymbol : IrFunctionSymbol, IrBindableSymbol<IrSimpleFunction>
|
||||
|
||||
// FILE: B.kt
|
||||
import a.*
|
||||
|
||||
fun foo(x: IrSimpleFunctionSymbol): String {
|
||||
return x.owner.name
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return foo(object : IrSimpleFunctionSymbol {
|
||||
override val owner: IrSimpleFunction
|
||||
get() = object : IrSimpleFunction {
|
||||
override val name: String
|
||||
get() = "OK"
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -261,7 +261,7 @@ FILE fqName:<root> fileName:/MultiList.kt
|
||||
correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val]
|
||||
overridden:
|
||||
public abstract fun <get-size> (): kotlin.Int declared in kotlin.collections.List
|
||||
public abstract fun <get-size> (): kotlin.Int declared in java.util.ArrayList
|
||||
public abstract fun <get-size> (): kotlin.Int [fake_override] declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection<E of java.util.Collection>) returnType:@[FlexibleNullability] java.util.Spliterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
|
||||
overridden:
|
||||
@@ -471,7 +471,7 @@ FILE fqName:<root> fileName:/MultiList.kt
|
||||
correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val]
|
||||
overridden:
|
||||
public abstract fun <get-size> (): kotlin.Int declared in kotlin.collections.List
|
||||
public abstract fun <get-size> (): kotlin.Int declared in java.util.ArrayList
|
||||
public abstract fun <get-size> (): kotlin.Int [fake_override] declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection<E of java.util.Collection>) returnType:@[FlexibleNullability] java.util.Spliterator<<root>.Some<kotlin.String>?> [fake_override]
|
||||
overridden:
|
||||
|
||||
Reference in New Issue
Block a user