KT-41670 Check for default property accessors in SAM interfaces
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java
index 7a41000..624b1c0 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java
@@ -18294,6 +18294,12 @@
         }
 
         @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 {
             runTest("compiler/testData/codegen/box/funInterface/kt44827_funInterface.kt");
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt
index 9b6ad40..d6505dc 100644
--- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt
+++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/indy/LambdaMetafactoryArguments.kt
@@ -227,7 +227,8 @@
         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 =
diff --git a/compiler/testData/codegen/box/funInterface/kt41670.kt b/compiler/testData/codegen/box/funInterface/kt41670.kt
new file mode 100644
index 0000000..ac7c3a3
--- /dev/null
+++ b/compiler/testData/codegen/box/funInterface/kt41670.kt
@@ -0,0 +1,7 @@
+fun interface Interface {
+    fun foo()
+
+    val value get() = "OK"
+}
+
+fun box() = Interface{}.value
\ No newline at end of file
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java
index 457f35c..73a5a79 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java
@@ -17646,6 +17646,12 @@
         }
 
         @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 {
             runTest("compiler/testData/codegen/box/funInterface/kt44827_funInterface.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java
index c1f16ab..25fad21 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java
@@ -18294,6 +18294,12 @@
         }
 
         @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 {
             runTest("compiler/testData/codegen/box/funInterface/kt44827_funInterface.kt");
diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
index 5a9de58..9941715 100644
--- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
+++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
@@ -14650,6 +14650,11 @@
             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");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java
index 193deba..af0515e 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java
@@ -13586,6 +13586,12 @@
         }
 
         @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 {
             runTest("compiler/testData/codegen/box/funInterface/kt45444_privateFunInterface.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java
index e42fb70..84707e9 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java
@@ -13670,6 +13670,12 @@
         }
 
         @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 {
             runTest("compiler/testData/codegen/box/funInterface/kt45444_privateFunInterface.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
index 8e73e4a..83beaa2 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
@@ -12155,6 +12155,11 @@
             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");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java
index f327e12..4bc6ea0 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java
@@ -14714,6 +14714,12 @@
             }
 
             @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 {
                 runTest("compiler/testData/codegen/box/funInterface/kt45444_privateFunInterface.kt");