From 994feafd6e95b9575ccd39b1069ddf2a4b2ca526 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 23 Oct 2015 13:20:49 +0300 Subject: [PATCH] Lookup fixed to search for SyntheticFieldDescriptor inside MethodContext --- .../org/jetbrains/kotlin/codegen/context/MethodContext.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MethodContext.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MethodContext.java index 250a3703101..2ff34d4caf0 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MethodContext.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MethodContext.java @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.codegen.binding.MutableClosure; import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.JetTypeMapper; import org.jetbrains.kotlin.descriptors.*; +import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor; import org.jetbrains.kotlin.resolve.inline.InlineUtil; import org.jetbrains.org.objectweb.asm.Label; import org.jetbrains.org.objectweb.asm.Type; @@ -68,6 +69,10 @@ public class MethodContext extends CodegenContext { @Override public StackValue lookupInContext(DeclarationDescriptor d, @Nullable StackValue result, GenerationState state, boolean ignoreNoOuter) { + if (d instanceof SyntheticFieldDescriptor) { + SyntheticFieldDescriptor fieldDescriptor = (SyntheticFieldDescriptor) d; + d = fieldDescriptor.getPropertyDescriptor(); + } if (getContextDescriptor() == d) { return result != null ? result : StackValue.LOCAL_0; }