This commit is contained in:
Nikolay Krasko
2012-11-06 18:46:36 +04:00
parent 17b05de3f4
commit 811b115859
2 changed files with 17 additions and 11 deletions
@@ -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.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; 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.ErrorUtils;
import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.TypeProjection; import org.jetbrains.jet.lang.types.TypeProjection;
@@ -375,7 +374,7 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
builder, builder,
skipValVar ? null : descriptor.isVar(), skipValVar ? null : descriptor.isVar(),
Collections.<TypeParameterDescriptor>emptyList(), Collections.<TypeParameterDescriptor>emptyList(),
ReceiverDescriptor.NO_RECEIVER, ReceiverParameterDescriptor.NO_RECEIVER_PARAMETER,
type); type);
renderName(descriptor, builder); renderName(descriptor, builder);
builder.append(" : ").append(escape(typeString)); builder.append(" : ").append(escape(typeString));
@@ -386,7 +385,7 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
@NotNull StringBuilder builder, @NotNull StringBuilder builder,
@Nullable Boolean isVar, @Nullable Boolean isVar,
@NotNull List<TypeParameterDescriptor> typeParameters, @NotNull List<TypeParameterDescriptor> typeParameters,
@NotNull ReceiverDescriptor receiver, @Nullable ReceiverParameterDescriptor receiver,
@Nullable JetType outType @Nullable JetType outType
) { ) {
String typeString = lt() + "no type>"; String typeString = lt() + "no type>";
@@ -399,7 +398,7 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
renderTypeParameters(typeParameters, builder); renderTypeParameters(typeParameters, builder);
if (receiver.exists()) { if (receiver != null) {
builder.append(escape(renderType(receiver.getType()))).append("."); builder.append(escape(renderType(receiver.getType()))).append(".");
} }
@@ -460,8 +459,8 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
builder.append(" "); builder.append(" ");
} }
ReceiverDescriptor receiver = descriptor.getReceiverParameter(); ReceiverParameterDescriptor receiver = descriptor.getReceiverParameter();
if (receiver.exists()) { if (receiver != null) {
builder.append(escape(renderType(receiver.getType()))).append("."); builder.append(escape(renderType(receiver.getType()))).append(".");
} }
} }
@@ -483,6 +482,11 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
return visitFunctionDescriptor(descriptor, data); 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) { private void renderWhereSuffix(@NotNull CallableMemberDescriptor callable, @NotNull StringBuilder builder) {
boolean first = true; boolean first = true;
for (TypeParameterDescriptor typeParameter : callable.getTypeParameters()) { for (TypeParameterDescriptor typeParameter : callable.getTypeParameters()) {
@@ -665,4 +669,4 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
} }
} }
} }
} }
@@ -33,13 +33,15 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.BindingContext; 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.JetType;
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade; import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade;
import org.jetbrains.jet.resolve.DescriptorRenderer; 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 * @author yole
@@ -238,8 +240,8 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
} }
private static void addReceiverParameter(CallableDescriptor descriptor, StringBuilder bodyBuilder) { private static void addReceiverParameter(CallableDescriptor descriptor, StringBuilder bodyBuilder) {
ReceiverDescriptor receiverParameter = descriptor.getReceiverParameter(); ReceiverParameterDescriptor receiverParameter = descriptor.getReceiverParameter();
if (receiverParameter.exists()) { if (receiverParameter != null) {
bodyBuilder.append(receiverParameter.getType()).append("."); bodyBuilder.append(receiverParameter.getType()).append(".");
} }
} }