ReceiverDescriptor renamed to ReceiverValue

This commit is contained in:
Andrey Breslav
2012-10-31 13:28:35 +04:00
parent c079625f5b
commit 4955ce5caa
49 changed files with 230 additions and 237 deletions
@@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo;
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.lang.resolve.scopes.JetScopeUtils;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.jet.lang.types.ErrorUtils;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.NamespaceType;
@@ -65,7 +65,7 @@ public final class TipsManager {
if (expressionType != null && resolutionScope != null && !ErrorUtils.isErrorType(expressionType)) {
if (!(expressionType instanceof NamespaceType)) {
ExpressionReceiver receiverDescriptor = new ExpressionReceiver(receiverExpression, expressionType);
ExpressionReceiver receiverValue = new ExpressionReceiver(receiverExpression, expressionType);
Set<DeclarationDescriptor> descriptors = new HashSet<DeclarationDescriptor>();
DataFlowInfo info = context.get(BindingContext.NON_DEFAULT_EXPRESSION_DATA_FLOW, expression);
@@ -74,9 +74,9 @@ public final class TipsManager {
}
AutoCastServiceImpl autoCastService = new AutoCastServiceImpl(info, context);
List<ReceiverDescriptor> variantsForExplicitReceiver = autoCastService.getVariantsForReceiver(receiverDescriptor);
List<ReceiverValue> variantsForExplicitReceiver = autoCastService.getVariantsForReceiver(receiverValue);
for (ReceiverDescriptor descriptor : variantsForExplicitReceiver) {
for (ReceiverValue descriptor : variantsForExplicitReceiver) {
descriptors.addAll(includeExternalCallableExtensions(
excludePrivateDescriptors(descriptor.getType().getMemberScope().getAllDescriptors()),
resolutionScope, descriptor));
@@ -188,10 +188,10 @@ public final class TipsManager {
private static Set<DeclarationDescriptor> includeExternalCallableExtensions(
@NotNull Collection<DeclarationDescriptor> descriptors,
@NotNull final JetScope externalScope,
@NotNull final ReceiverDescriptor receiverDescriptor
@NotNull final ReceiverValue receiverValue
) {
// It's impossible to add extension function for namespace
JetType receiverType = receiverDescriptor.getType();
JetType receiverType = receiverValue.getType();
if (receiverType instanceof NamespaceType) {
return new HashSet<DeclarationDescriptor>(descriptors);
}
@@ -203,7 +203,7 @@ public final class TipsManager {
new Predicate<CallableDescriptor>() {
@Override
public boolean apply(CallableDescriptor callableDescriptor) {
return ExpressionTypingUtils.checkIsExtensionCallable(receiverDescriptor, callableDescriptor);
return ExpressionTypingUtils.checkIsExtensionCallable(receiverValue, callableDescriptor);
}
}));
@@ -1716,7 +1716,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
) {
FunctionDescriptor fd = (FunctionDescriptor) resolvedCall.getResultingDescriptor();
boolean superCall = false;
ReceiverDescriptor explicitReceiver = call.getExplicitReceiver();
ReceiverValue explicitReceiver = call.getExplicitReceiver();
if (explicitReceiver instanceof ExpressionReceiver) {
final JetExpression receiverExpression = ((ExpressionReceiver) explicitReceiver).getExpression();
if (receiverExpression instanceof JetSuperExpression) {
@@ -1886,7 +1886,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
receiver.put(receiver.type, v);
}
public void generateFromResolvedCall(@NotNull ReceiverDescriptor descriptor, @NotNull Type type) {
public void generateFromResolvedCall(@NotNull ReceiverValue descriptor, @NotNull Type type) {
if (descriptor instanceof ClassReceiver) {
Type exprType = asmType(descriptor.getType());
ClassReceiver classReceiver = (ClassReceiver) descriptor;
@@ -3432,7 +3432,7 @@ The "returned" value of try expression with no finally is either the last expres
v.athrow();
}
private Call makeFakeCall(ReceiverDescriptor initializerAsReceiver) {
private Call makeFakeCall(ReceiverValue initializerAsReceiver) {
JetSimpleNameExpression fake = JetPsiFactory.createSimpleName(state.getProject(), "fake");
return CallMaker.makeCall(fake, initializerAsReceiver);
}
@@ -33,7 +33,7 @@ import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.resolve.java.JvmPrimitiveType;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.jet.lexer.JetTokens;
import java.util.List;
@@ -751,7 +751,7 @@ public abstract class StackValue {
}
}
ReceiverDescriptor receiverParameter = resolvedGetCall.getReceiverArgument();
ReceiverValue receiverParameter = resolvedGetCall.getReceiverArgument();
int receiverIndex = -1;
if (receiverParameter.exists()) {
Type type = codegen.typeMapper.mapType(receiverParameter.getType());
@@ -762,7 +762,7 @@ public abstract class StackValue {
v.store((receiverIndex = lastIndex) - sz, type);
}
ReceiverDescriptor thisObject = resolvedGetCall.getThisObject();
ReceiverValue thisObject = resolvedGetCall.getThisObject();
int thisIndex = -1;
if (thisObject.exists()) {
frame.enterTemp(OBJECT_TYPE);
@@ -1262,8 +1262,8 @@ public abstract class StackValue {
ExpressionCodegen codegen,
CallableMethod callableMethod
) {
ReceiverDescriptor thisObject = resolvedCall.getThisObject();
ReceiverDescriptor receiverArgument = resolvedCall.getReceiverArgument();
ReceiverValue thisObject = resolvedCall.getThisObject();
ReceiverValue receiverArgument = resolvedCall.getReceiverArgument();
CallableDescriptor descriptor = resolvedCall.getResultingDescriptor();
@@ -1305,8 +1305,8 @@ public abstract class StackValue {
public void put(Type type, InstructionAdapter v) {
CallableDescriptor descriptor = resolvedCall.getResultingDescriptor();
ReceiverDescriptor thisObject = resolvedCall.getThisObject();
ReceiverDescriptor receiverArgument = resolvedCall.getReceiverArgument();
ReceiverValue thisObject = resolvedCall.getThisObject();
ReceiverValue receiverArgument = resolvedCall.getReceiverArgument();
if (thisObject.exists()) {
if (receiverArgument.exists()) {
if (callableMethod != null) {
@@ -1330,7 +1330,7 @@ public abstract class StackValue {
}
private void genReceiver(
InstructionAdapter v, ReceiverDescriptor receiverArgument, Type type,
InstructionAdapter v, ReceiverValue receiverArgument, Type type,
@Nullable ReceiverParameterDescriptor receiverParameter, int depth
) {
if (receiver == StackValue.none()) {