FIR: Add test for three receivers
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
|
||||
|
||||
class Bar {
|
||||
fun FooBar.invoke(): Bar = this
|
||||
}
|
||||
|
||||
class Buz
|
||||
|
||||
class FooBar
|
||||
|
||||
class Foo {
|
||||
val Buz.foobar: Bar get() = Bar()
|
||||
|
||||
fun FooBar.chk(buz: Buz) {
|
||||
buz.foobar()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
FILE: threeReceivers.kt
|
||||
public final class Bar {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
public final function invoke R|FooBar|.(): R|Bar| {
|
||||
return@@@invoke this#
|
||||
}
|
||||
|
||||
}
|
||||
public final class Buz {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
}
|
||||
public final class FooBar {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
}
|
||||
public final class Foo {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
public final property foobar R|Buz|.(val): R|Bar|
|
||||
public get(): R|Bar| {
|
||||
return R|/Bar.Bar|()
|
||||
}
|
||||
|
||||
public final function chk R|FooBar|.(buz: R|Buz|): R|kotlin/Unit| {
|
||||
R|<local>/buz|.R|/Foo.foobar|.R|/Bar.invoke|()
|
||||
}
|
||||
|
||||
}
|
||||
+5
@@ -205,6 +205,11 @@ public class FirResolveTestCaseGenerated extends AbstractFirResolveTestCase {
|
||||
public void testFarInvokeExtension() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/farInvokeExtension.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("threeReceivers.kt")
|
||||
public void testThreeReceivers() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/threeReceivers.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user