[FIR] Explicitly resolve synthetic property return type if necessary

During implicit body resolve phase, we can encounter a reference to a
not yet resolved Kotlin class that inherits a synthetic property from a
Java class. In that case, resolve the return type in
FirSyntheticPropertiesScope.

#KT-57166 Fixed
This commit is contained in:
Kirill Rakhman
2023-03-08 14:08:01 +01:00
committed by Space Team
parent 6aef11704b
commit 9b89759755
12 changed files with 218 additions and 12 deletions
@@ -0,0 +1,22 @@
// FIR_IDENTICAL
// ISSUE: KT-57166
// File order is important.
// FILE: InstanceObject.java
public interface InstanceObject {
long getDeallocTime();
void setDeallocTime(long deallocTime);
}
// FILE: LiveAllocationCaptureObject.kt
class LiveAllocationCaptureObject {
private fun queryJavaInstanceDelta() = run {
LiveAllocationInstanceObject().deallocTime = 42L
}
}
// FILE: LiveAllocationInstanceObject.kt
class LiveAllocationInstanceObject: InstanceObject {
override fun getDeallocTime() = 42L
override fun setDeallocTime(deallocTime: Long) {}
}