[Inliner] Skip LDP accessors in `LocalClassesInInlineLambdasLowering`

^KT-77103 Fixed
diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/LocalClasses.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/LocalClasses.kt
index 534c4bc..01204fe 100644
--- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/LocalClasses.kt
+++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/LocalClasses.kt
@@ -24,6 +24,7 @@
 import org.jetbrains.kotlin.ir.util.isInlineParameter
 import org.jetbrains.kotlin.ir.util.setDeclarationsParent
 import org.jetbrains.kotlin.ir.visitors.*
+import org.jetbrains.kotlin.utils.addIfNotNull
 
 /**
  * Extracts local classes from inline lambdas.
@@ -69,7 +70,7 @@
 
                 val localClasses = mutableSetOf<IrClass>()
                 val localFunctions = mutableSetOf<IrFunction>()
-                val adaptedFunctions = mutableSetOf<IrSimpleFunction>()
+                val functionsToSkip = mutableSetOf<IrSimpleFunction>()
                 val transformer = this
                 for (lambda in inlineLambdas) {
                     lambda.acceptChildrenVoid(object : IrVisitorVoid() {
@@ -77,6 +78,17 @@
                             element.acceptChildrenVoid(this)
                         }
 
+                        override fun visitLocalDelegatedProperty(declaration: IrLocalDelegatedProperty) {
+                            functionsToSkip.add(declaration.getter)
+                            functionsToSkip.addIfNotNull(declaration.setter)
+                        }
+                    })
+
+                    lambda.acceptChildrenVoid(object : IrVisitorVoid() {
+                        override fun visitElement(element: IrElement) {
+                            element.acceptChildrenVoid(this)
+                        }
+
                         override fun visitClass(declaration: IrClass) {
                             declaration.transformChildren(transformer, declaration)
 
@@ -120,7 +132,7 @@
                                 // Skip adapted function references and inline lambdas - they will be inlined later.
                                 val shouldSkip = argument != null && (argument.isAdaptedFunctionReference() || argument.isInlineLambdaBlock())
                                 if (parameter.isInlineParameter() && shouldSkip)
-                                    adaptedFunctions += (argument as IrBlock).statements[0] as IrSimpleFunction
+                                    functionsToSkip += (argument as IrBlock).statements[0] as IrSimpleFunction
                                 else
                                     argument?.acceptVoid(this)
                             }
@@ -150,7 +162,7 @@
                     // are also present in the inline lambda's parent declaration,
                     // which we will extract the local class to.
                     remapCapturedTypesInExtractedLocalDeclarations = false,
-                ).lower(irBlock, container, data, localClasses, adaptedFunctions)
+                ).lower(irBlock, container, data, localClasses, functionsToSkip)
                 irBlock.statements.addAll(0, localClasses)
 
                 for (lambda in inlineLambdas) {