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");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt41670.kt")
|
||||
public void testKt41670() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt44827_funInterface.kt")
|
||||
public void testKt44827_funInterface() throws Exception {
|
||||
|
||||
+2
-1
@@ -227,7 +227,8 @@ internal class LambdaMetafactoryArgumentsBuilder(
|
||||
getAllSuperclasses().any { it.fqNameWhenAvailable == javaIoSerializableFqn }
|
||||
|
||||
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)
|
||||
continue
|
||||
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");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt41670.kt")
|
||||
public void testKt41670() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt44827_funInterface.kt")
|
||||
public void testKt44827_funInterface() throws Exception {
|
||||
|
||||
+6
@@ -18317,6 +18317,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
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
|
||||
@TestMetadata("kt44827_funInterface.kt")
|
||||
public void testKt44827_funInterface() throws Exception {
|
||||
|
||||
+5
@@ -14665,6 +14665,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
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")
|
||||
public void testKt44827_funInterface() throws Exception {
|
||||
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");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt41670.kt")
|
||||
public void testKt41670() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||
public void testKt45444_privateFunInterface() throws Exception {
|
||||
|
||||
+6
@@ -13675,6 +13675,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
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
|
||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||
public void testKt45444_privateFunInterface() throws Exception {
|
||||
|
||||
+5
@@ -12160,6 +12160,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
||||
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")
|
||||
public void testKt45444_privateFunInterface() throws Exception {
|
||||
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");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt41670.kt")
|
||||
public void testKt41670() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/funInterface/kt41670.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt45444_privateFunInterface.kt")
|
||||
public void testKt45444_privateFunInterface() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user