From 811b115859ec96472e9b8d032782d5352d42a459 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 6 Nov 2012 18:46:36 +0400 Subject: [PATCH] Merge branch 'KT-1817' of https://github.com/crazyproger/kotlin --- .../jet/resolve/DescriptorRenderer.java | 18 +++++++++++------- .../OverrideImplementMethodsHandler.java | 10 ++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java index 851c287c4c2..1af27e0c1f9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java +++ b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java @@ -23,7 +23,6 @@ import org.jetbrains.jet.lang.diagnostics.rendering.Renderer; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; -import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.ErrorUtils; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.TypeProjection; @@ -375,7 +374,7 @@ public class DescriptorRenderer implements Renderer { builder, skipValVar ? null : descriptor.isVar(), Collections.emptyList(), - ReceiverDescriptor.NO_RECEIVER, + ReceiverParameterDescriptor.NO_RECEIVER_PARAMETER, type); renderName(descriptor, builder); builder.append(" : ").append(escape(typeString)); @@ -386,7 +385,7 @@ public class DescriptorRenderer implements Renderer { @NotNull StringBuilder builder, @Nullable Boolean isVar, @NotNull List typeParameters, - @NotNull ReceiverDescriptor receiver, + @Nullable ReceiverParameterDescriptor receiver, @Nullable JetType outType ) { String typeString = lt() + "no type>"; @@ -399,7 +398,7 @@ public class DescriptorRenderer implements Renderer { renderTypeParameters(typeParameters, builder); - if (receiver.exists()) { + if (receiver != null) { builder.append(escape(renderType(receiver.getType()))).append("."); } @@ -460,8 +459,8 @@ public class DescriptorRenderer implements Renderer { builder.append(" "); } - ReceiverDescriptor receiver = descriptor.getReceiverParameter(); - if (receiver.exists()) { + ReceiverParameterDescriptor receiver = descriptor.getReceiverParameter(); + if (receiver != null) { builder.append(escape(renderType(receiver.getType()))).append("."); } } @@ -483,6 +482,11 @@ public class DescriptorRenderer implements Renderer { return visitFunctionDescriptor(descriptor, data); } + @Override + public Void visitReceiverParameterDescriptor(ReceiverParameterDescriptor descriptor, StringBuilder data) { + throw new UnsupportedOperationException("Don't render receiver parameters"); + } + private void renderWhereSuffix(@NotNull CallableMemberDescriptor callable, @NotNull StringBuilder builder) { boolean first = true; for (TypeParameterDescriptor typeParameter : callable.getTypeParameters()) { @@ -665,4 +669,4 @@ public class DescriptorRenderer implements Renderer { } } } -} +} \ No newline at end of file diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java index cc3d4352d64..9fd363325d3 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/OverrideImplementMethodsHandler.java @@ -33,13 +33,15 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.resolve.DescriptorRenderer; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; /** * @author yole @@ -238,8 +240,8 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns } private static void addReceiverParameter(CallableDescriptor descriptor, StringBuilder bodyBuilder) { - ReceiverDescriptor receiverParameter = descriptor.getReceiverParameter(); - if (receiverParameter.exists()) { + ReceiverParameterDescriptor receiverParameter = descriptor.getReceiverParameter(); + if (receiverParameter != null) { bodyBuilder.append(receiverParameter.getType()).append("."); } }