Merge branch 'KT-1817' of https://github.com/crazyproger/kotlin
This commit is contained in:
@@ -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(".");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user