From e7cc7d92c2c8c96b752ebfc95730e61e34045f4c Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Wed, 13 Nov 2013 11:04:58 +0400 Subject: [PATCH] Make ReceiverParameterDescriptorImpl extends CallableDescriptor --- .../ReceiverParameterDescriptor.java | 2 +- .../AbstractReceiverParameterDescriptor.java | 53 ++++++++++++++++++- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/ReceiverParameterDescriptor.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/ReceiverParameterDescriptor.java index 7655de701e4..3b396a6e730 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/ReceiverParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/ReceiverParameterDescriptor.java @@ -22,7 +22,7 @@ import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.TypeSubstitutor; -public interface ReceiverParameterDescriptor extends DeclarationDescriptor { +public interface ReceiverParameterDescriptor extends CallableDescriptor { // This field exists for better readability of the client code @Nullable diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractReceiverParameterDescriptor.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractReceiverParameterDescriptor.java index af7d65f99d4..3066a6fdd84 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractReceiverParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractReceiverParameterDescriptor.java @@ -18,8 +18,7 @@ package org.jetbrains.jet.lang.descriptors.impl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptorVisitor; -import org.jetbrains.jet.lang.descriptors.ReceiverParameterDescriptor; +import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.receivers.TransientReceiver; @@ -28,6 +27,8 @@ import org.jetbrains.jet.lang.types.TypeSubstitutor; import org.jetbrains.jet.lang.types.Variance; import java.util.Collections; +import java.util.List; +import java.util.Set; public abstract class AbstractReceiverParameterDescriptor extends DeclarationDescriptorImpl implements ReceiverParameterDescriptor { private static final Name RECEIVER_PARAMETER_NAME = Name.special(""); @@ -50,4 +51,52 @@ public abstract class AbstractReceiverParameterDescriptor extends DeclarationDes public R accept(DeclarationDescriptorVisitor visitor, D data) { return visitor.visitReceiverParameterDescriptor(this, data); } + + @Nullable + @Override + public ReceiverParameterDescriptor getReceiverParameter() { + return null; + } + + @Nullable + @Override + public ReceiverParameterDescriptor getExpectedThisObject() { + return null; + } + + @NotNull + @Override + public List getTypeParameters() { + return Collections.emptyList(); + } + + @Nullable + @Override + public JetType getReturnType() { + return getType(); + } + + @NotNull + @Override + public List getValueParameters() { + return Collections.emptyList(); + } + + @NotNull + @Override + public Set getOverriddenDescriptors() { + return Collections.emptySet(); + } + + @NotNull + @Override + public Visibility getVisibility() { + return Visibilities.LOCAL; + } + + @NotNull + @Override + public CallableDescriptor getOriginal() { + return this; + } }