From ae23adb6f59832fe9e825f771953616a6865c62e Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 24 Sep 2020 17:09:40 +0300 Subject: [PATCH] FIR Java: fix exception during synthetic property enhancement --- .../fir/java/enhancement/SignatureEnhancement.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 013f4e1c9bd..e6c2d0483e3 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -107,9 +107,14 @@ class FirSignatureEnhancement( } is FirSyntheticProperty -> { val accessorSymbol = firElement.symbol - val enhancedFunctionSymbol = enhanceMethod( - firElement.getter.delegate, accessorSymbol.accessorId, accessorSymbol.accessorId.callableName - ) + val getterDelegate = firElement.getter.delegate + val enhancedFunctionSymbol = if (getterDelegate is FirJavaMethod) { + enhanceMethod( + getterDelegate, accessorSymbol.accessorId, accessorSymbol.accessorId.callableName + ) + } else { + getterDelegate.symbol + } return buildSyntheticProperty { session = this@FirSignatureEnhancement.session this.name = name @@ -324,8 +329,6 @@ class FirSignatureEnhancement( return signatureParts.type } - private val overrideBindCache = mutableMapOf?, List>>>() - private sealed class TypeInSignature { abstract fun getTypeRef(member: FirCallableMemberDeclaration<*>): FirTypeRef