From 7842327d2085ff746e9a7455cca1204db5863af5 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Thu, 25 Jul 2013 17:41:31 +0400 Subject: [PATCH] added 'getDataFlowInfoForValueArgument' to ResolvedCall interface --- .../lang/resolve/calls/model/DelegatingResolvedCall.java | 8 ++++++++ .../jet/lang/resolve/calls/model/ResolvedCall.java | 4 ++++ .../jet/lang/resolve/calls/model/ResolvedCallImpl.java | 1 + .../calls/model/VariableAsFunctionResolvedCall.java | 8 ++++++++ 4 files changed, 21 insertions(+) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/DelegatingResolvedCall.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/DelegatingResolvedCall.java index 2a10bf9b011..b84f4f35441 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/DelegatingResolvedCall.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/DelegatingResolvedCall.java @@ -17,9 +17,11 @@ package org.jetbrains.jet.lang.resolve.calls.model; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.CallableDescriptor; import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor; import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; +import org.jetbrains.jet.lang.psi.ValueArgument; import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo; import org.jetbrains.jet.lang.resolve.calls.tasks.ExplicitReceiverKind; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; @@ -83,6 +85,12 @@ public abstract class DelegatingResolvedCall imple return resolvedCall.getTypeArguments(); } + @Nullable + @Override + public DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument) { + return resolvedCall.getDataFlowInfoForValueArgument(valueArgument); + } + @NotNull @Override public DataFlowInfo getDataFlowInfo() { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCall.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCall.java index 67ece7b0358..d225e18df8a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCall.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCall.java @@ -21,6 +21,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.CallableDescriptor; import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor; import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; +import org.jetbrains.jet.lang.psi.ValueArgument; import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo; import org.jetbrains.jet.lang.resolve.calls.tasks.ExplicitReceiverKind; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; @@ -58,6 +59,9 @@ public interface ResolvedCall { @NotNull List getValueArgumentsByIndex(); + @Nullable + DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument); + /** What's substituted for type parameters */ @NotNull Map getTypeArguments(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java index 28ec3b28b52..4a7204e9bc1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/ResolvedCallImpl.java @@ -264,6 +264,7 @@ public class ResolvedCallImpl implements ResolvedC return dataFlowInfo; } + @Override @Nullable public DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument) { return dataFlowInfoForArguments.get(valueArgument); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java index 46156889da8..e1427c37fd1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/model/VariableAsFunctionResolvedCall.java @@ -17,10 +17,12 @@ package org.jetbrains.jet.lang.resolve.calls.model; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor; import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.descriptors.VariableDescriptor; +import org.jetbrains.jet.lang.psi.ValueArgument; import org.jetbrains.jet.lang.resolve.DelegatingBindingTrace; import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo; import org.jetbrains.jet.lang.resolve.calls.tasks.ExplicitReceiverKind; @@ -97,6 +99,12 @@ public class VariableAsFunctionResolvedCall implements ResolvedCallWithTrace