[FIR] fix implementation status for Java fields and synthetic properties

^KTIJ-23963 Fixed
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt
index a2cae62..f8dee7a 100644
--- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt
+++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt
@@ -25,7 +25,6 @@
 import org.jetbrains.kotlin.fir.expressions.impl.FirEmptyExpressionBlock
 import org.jetbrains.kotlin.fir.references.FirSuperReference
 import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
-import org.jetbrains.kotlin.fir.declarations.fullyExpandedClass
 import org.jetbrains.kotlin.fir.resolve.*
 import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
 import org.jetbrains.kotlin.fir.scopes.*
@@ -346,15 +345,24 @@
             }
         }
     }
-    if (this is FirNamedFunctionSymbol) {
-        if (parentClassSymbol is FirRegularClassSymbol && parentClassSymbol.isData && matchesDataClassSyntheticMemberSignatures) {
-            return ImplementationStatus.INHERITED_OR_SYNTHESIZED
+
+    when (symbol) {
+        is FirNamedFunctionSymbol -> {
+            if (
+                parentClassSymbol is FirRegularClassSymbol &&
+                parentClassSymbol.isData &&
+                symbol.matchesDataClassSyntheticMemberSignatures
+            ) {
+                return ImplementationStatus.INHERITED_OR_SYNTHESIZED
+            }
+            // TODO: suspend function overridden by a Java class in the middle is not properly regarded as an override
+            if (isSuspend) {
+                return ImplementationStatus.INHERITED_OR_SYNTHESIZED
+            }
         }
-        // TODO: suspend function overridden by a Java class in the middle is not properly regarded as an override
-        if (isSuspend) {
-            return ImplementationStatus.INHERITED_OR_SYNTHESIZED
-        }
+        is FirFieldSymbol -> if (symbol.isJavaOrEnhancement) return ImplementationStatus.CANNOT_BE_IMPLEMENTED
     }
+
     return when {
         isFinal -> ImplementationStatus.CANNOT_BE_IMPLEMENTED
         containingClassSymbol === parentClassSymbol && (origin == FirDeclarationOrigin.Source || origin == FirDeclarationOrigin.Precompiled) ->