added 'getDataFlowInfoForValueArgument' to ResolvedCall interface

This commit is contained in:
Svetlana Isakova
2013-07-25 17:41:31 +04:00
parent 9938c58354
commit 7842327d20
4 changed files with 21 additions and 0 deletions
@@ -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<D extends CallableDescriptor> imple
return resolvedCall.getTypeArguments();
}
@Nullable
@Override
public DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument) {
return resolvedCall.getDataFlowInfoForValueArgument(valueArgument);
}
@NotNull
@Override
public DataFlowInfo getDataFlowInfo() {
@@ -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<D extends CallableDescriptor> {
@NotNull
List<ResolvedValueArgument> getValueArgumentsByIndex();
@Nullable
DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument);
/** What's substituted for type parameters */
@NotNull
Map<TypeParameterDescriptor, JetType> getTypeArguments();
@@ -264,6 +264,7 @@ public class ResolvedCallImpl<D extends CallableDescriptor> implements ResolvedC
return dataFlowInfo;
}
@Override
@Nullable
public DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument) {
return dataFlowInfoForArguments.get(valueArgument);
@@ -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<Fun
return functionCall.getTypeArguments();
}
@Nullable
@Override
public DataFlowInfo getDataFlowInfoForValueArgument(@NotNull ValueArgument valueArgument) {
return functionCall.getDataFlowInfoForValueArgument(valueArgument);
}
@NotNull
@Override
public DataFlowInfo getDataFlowInfo() {