[FIR2IR] Don't generate fake overrides for clashing synthetic properties
If a synthetic prop clashes with a real property (e.g. @JvmField property from parent Kotlin class), don't generate fake override for the synthetic property. This fixes a CONFLICTING_INHERITED_JVM_DECLARATIONS error in a mixed hierarchy. ^KT-56538 Fixed
This commit is contained in:
committed by
Space Team
parent
d84490dcfa
commit
7f8dc56d36
+33
@@ -0,0 +1,33 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_STDLIB
|
||||
// ISSUE: KT-56538
|
||||
|
||||
// FILE: SerializableScheme.java
|
||||
|
||||
public interface SerializableScheme {
|
||||
String getSchemeState();
|
||||
}
|
||||
|
||||
// FILE: NewInspectionProfile.kt
|
||||
|
||||
abstract class NewInspectionProfile : SerializableScheme {
|
||||
@JvmField
|
||||
internal var schemeState: String? = "OK"
|
||||
|
||||
override fun getSchemeState(): String? = schemeState
|
||||
}
|
||||
|
||||
// FILE: InspectionProfileImpl.java
|
||||
|
||||
public class InspectionProfileImpl extends NewInspectionProfile {
|
||||
}
|
||||
|
||||
// FILE: InspectionProfileModifiableModel.kt
|
||||
|
||||
class InspectionProfileModifiableModel : InspectionProfileImpl()
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun box(): String {
|
||||
return InspectionProfileModifiableModel().schemeState.toString()
|
||||
}
|
||||
Reference in New Issue
Block a user