diff --git a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java index bab1998e33c..532a74d2946 100644 --- a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java +++ b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java @@ -381,6 +381,12 @@ public class DeserializedClassDescriptor extends ClassDescriptorBase implements } } + @Nullable + @Override + protected ReceiverParameterDescriptor getImplicitReceiver() { + return classDescriptor.getThisAsReceiverParameter(); + } + @Nullable @Override protected ClassifierDescriptor getClassDescriptor(@NotNull Name name) { diff --git a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.java b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.java index 8a96a40901c..7651ebd8ad5 100644 --- a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.java +++ b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.java @@ -239,9 +239,16 @@ public abstract class DeserializedMemberScope implements JetScope { @NotNull @Override public List getImplicitReceiversHierarchy() { - throw new UnsupportedOperationException("Should not be called"); + ReceiverParameterDescriptor receiver = getImplicitReceiver(); + if (receiver != null) { + return Collections.singletonList(receiver); + } + return Collections.emptyList(); } + @Nullable + protected abstract ReceiverParameterDescriptor getImplicitReceiver(); + @NotNull @Override public Collection getOwnDeclaredDescriptors() {