From dfbe92344fe42bd9807e2492d357e68354a81bc8 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Tue, 9 Jan 2018 14:35:50 +0100 Subject: [PATCH] Skip setter accessors for val --- .../kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt index 5db69e1173b..0de6e7aa255 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt @@ -197,7 +197,10 @@ class SyntheticAccessorLowering(val context: JvmBackendContext) : FileLoweringPa val accessorOwner = (accessor as FunctionDescriptor).containingDeclaration as ClassOrPackageFragmentDescriptor val body = IrBlockBodyImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET) val isConstructor = accessor.calleeDescriptor is ConstructorDescriptor - val accessorForIr = accessorToIrAccessor(isConstructor, accessor, context, accessor.calleeDescriptor as FunctionDescriptor, accessorOwner) + val accessorForIr = accessorToIrAccessor( + isConstructor, accessor, context, + accessor.calleeDescriptor as? FunctionDescriptor ?: return, + accessorOwner) val syntheticFunction = IrFunctionImpl( UNDEFINED_OFFSET, UNDEFINED_OFFSET, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR, accessorForIr, body