[FIR] Fix incorrect updating of callable reference type in delegated property
... if the delegate happens to be a function call whose second argument is a callable reference but not actually a provideDelegate call. The fix is to ensure that the call is _actually_ a desugared provideDelegate call. This fixes a CCE in a case where the delegate expression is a regular function call and the second argument is a callable reference. #KT-65165 Fixed
This commit is contained in:
committed by
Space Team
parent
fced126c9f
commit
853ad54699
+6
@@ -11889,6 +11889,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/beforeDeclarationContainerOptimization.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("callableReferenceAsSecondArgumentOfDelegate.kt")
|
||||
public void testCallableReferenceAsSecondArgumentOfDelegate() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/callableReferenceAsSecondArgumentOfDelegate.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("capturePropertyInClosure.kt")
|
||||
public void testCapturePropertyInClosure() throws Exception {
|
||||
|
||||
Generated
+6
@@ -11889,6 +11889,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/beforeDeclarationContainerOptimization.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("callableReferenceAsSecondArgumentOfDelegate.kt")
|
||||
public void testCallableReferenceAsSecondArgumentOfDelegate() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/callableReferenceAsSecondArgumentOfDelegate.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("capturePropertyInClosure.kt")
|
||||
public void testCapturePropertyInClosure() throws Exception {
|
||||
|
||||
+6
@@ -11889,6 +11889,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/beforeDeclarationContainerOptimization.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("callableReferenceAsSecondArgumentOfDelegate.kt")
|
||||
public void testCallableReferenceAsSecondArgumentOfDelegate() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/callableReferenceAsSecondArgumentOfDelegate.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("capturePropertyInClosure.kt")
|
||||
public void testCapturePropertyInClosure() throws Exception {
|
||||
|
||||
+6
@@ -11889,6 +11889,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/beforeDeclarationContainerOptimization.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("callableReferenceAsSecondArgumentOfDelegate.kt")
|
||||
public void testCallableReferenceAsSecondArgumentOfDelegate() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/delegatedProperty/callableReferenceAsSecondArgumentOfDelegate.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("capturePropertyInClosure.kt")
|
||||
public void testCapturePropertyInClosure() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user