KT-41670 Check for default property accessors in SAM interfaces
This commit is contained in:
committed by
teamcity
parent
59a052a615
commit
0b453ee328
+6
@@ -18317,6 +18317,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt44827_funInterface.kt")
|
@TestMetadata("kt44827_funInterface.kt")
|
||||||
public void testKt44827_funInterface() throws Exception {
|
public void testKt44827_funInterface() throws Exception {
|
||||||
|
|||||||
+2
-1
@@ -227,7 +227,8 @@ internal class LambdaMetafactoryArgumentsBuilder(
|
|||||||
getAllSuperclasses().any { it.fqNameWhenAvailable == javaIoSerializableFqn }
|
getAllSuperclasses().any { it.fqNameWhenAvailable == javaIoSerializableFqn }
|
||||||
|
|
||||||
private fun IrClass.requiresDelegationToDefaultImpls(): Boolean {
|
private fun IrClass.requiresDelegationToDefaultImpls(): Boolean {
|
||||||
for (irMemberFun in functions) {
|
val functionsAndAccessors = functions + properties.mapNotNull { it.getter } + properties.mapNotNull { it.setter }
|
||||||
|
for (irMemberFun in functionsAndAccessors) {
|
||||||
if (irMemberFun.modality == Modality.ABSTRACT)
|
if (irMemberFun.modality == Modality.ABSTRACT)
|
||||||
continue
|
continue
|
||||||
val irImplFun =
|
val irImplFun =
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun interface Interface {
|
||||||
|
fun foo()
|
||||||
|
|
||||||
|
val value get() = "OK"
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() = Interface{}.value
|
||||||
+6
@@ -17663,6 +17663,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt44827_funInterface.kt")
|
@TestMetadata("kt44827_funInterface.kt")
|
||||||
public void testKt44827_funInterface() throws Exception {
|
public void testKt44827_funInterface() throws Exception {
|
||||||
|
|||||||
+6
@@ -18317,6 +18317,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt44827_funInterface.kt")
|
@TestMetadata("kt44827_funInterface.kt")
|
||||||
public void testKt44827_funInterface() throws Exception {
|
public void testKt44827_funInterface() throws Exception {
|
||||||
|
|||||||
+5
@@ -14665,6 +14665,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("kt44827_funInterface.kt")
|
@TestMetadata("kt44827_funInterface.kt")
|
||||||
public void testKt44827_funInterface() throws Exception {
|
public void testKt44827_funInterface() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/funInterface/kt44827_funInterface.kt");
|
runTest("compiler/testData/codegen/box/funInterface/kt44827_funInterface.kt");
|
||||||
|
|||||||
+6
@@ -13585,6 +13585,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||||
public void testKt45444_privateFunInterface() throws Exception {
|
public void testKt45444_privateFunInterface() throws Exception {
|
||||||
|
|||||||
+6
@@ -13675,6 +13675,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||||
public void testKt45444_privateFunInterface() throws Exception {
|
public void testKt45444_privateFunInterface() throws Exception {
|
||||||
|
|||||||
+5
@@ -12160,6 +12160,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||||
public void testKt45444_privateFunInterface() throws Exception {
|
public void testKt45444_privateFunInterface() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/funInterface/kt45444_privateFunInterface.kt");
|
runTest("compiler/testData/codegen/box/funInterface/kt45444_privateFunInterface.kt");
|
||||||
|
|||||||
+6
@@ -14719,6 +14719,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
|||||||
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
runTest("compiler/testData/codegen/box/funInterface/irrelevantPrivateDeclarations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt41670.kt")
|
||||||
|
public void testKt41670() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||||
public void testKt45444_privateFunInterface() throws Exception {
|
public void testKt45444_privateFunInterface() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user