Make ReceiverParameterDescriptorImpl extends CallableDescriptor

This commit is contained in:
Mikhael Bogdanov
2013-11-13 11:04:58 +04:00
parent 48382803ac
commit e7cc7d92c2
2 changed files with 52 additions and 3 deletions
@@ -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
@@ -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("<this>");
@@ -50,4 +51,52 @@ public abstract class AbstractReceiverParameterDescriptor extends DeclarationDes
public <R, D> R accept(DeclarationDescriptorVisitor<R, D> 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<TypeParameterDescriptor> getTypeParameters() {
return Collections.emptyList();
}
@Nullable
@Override
public JetType getReturnType() {
return getType();
}
@NotNull
@Override
public List<ValueParameterDescriptor> getValueParameters() {
return Collections.emptyList();
}
@NotNull
@Override
public Set<? extends CallableDescriptor> getOverriddenDescriptors() {
return Collections.emptySet();
}
@NotNull
@Override
public Visibility getVisibility() {
return Visibilities.LOCAL;
}
@NotNull
@Override
public CallableDescriptor getOriginal() {
return this;
}
}