Beispiel #1
0
 @NotNull
 public OverloadResolutionResults<FunctionDescriptor> resolveFunctionCall(
     @NotNull BindingTrace trace,
     @NotNull JetScope scope,
     @NotNull Call call,
     @NotNull JetType expectedType,
     @NotNull DataFlowInfo dataFlowInfo) {
   return resolveFunctionCall(
       BasicCallResolutionContext.create(
           trace,
           scope,
           call,
           expectedType,
           dataFlowInfo,
           ContextDependency.INDEPENDENT,
           CheckValueArgumentsMode.ENABLED,
           ExpressionPosition.FREE,
           ResolutionResultsCacheImpl.create(),
           LabelResolver.create(),
           null));
 }
Beispiel #2
0
  public OverloadResolutionResults<FunctionDescriptor> resolveCallWithKnownCandidate(
      @NotNull Call call,
      @Nullable TracingStrategy tracing,
      @NotNull JetReferenceExpression reference,
      @NotNull ResolutionContext<?> context,
      @NotNull ResolutionCandidate<CallableDescriptor> candidate,
      @Nullable MutableDataFlowInfoForArguments dataFlowInfoForArguments) {
    BasicCallResolutionContext basicCallResolutionContext =
        BasicCallResolutionContext.create(
            context, call, CheckValueArgumentsMode.ENABLED, dataFlowInfoForArguments);

    List<ResolutionTask<CallableDescriptor, FunctionDescriptor>> tasks =
        TaskPrioritizer
            .<CallableDescriptor, FunctionDescriptor>computePrioritizedTasksFromCandidates(
                basicCallResolutionContext, reference, Collections.singleton(candidate), tracing);
    return doResolveCallOrGetCachedResults(
        ResolutionResultsCache.FUNCTION_MEMBER_TYPE,
        basicCallResolutionContext,
        tasks,
        CallTransformer.FUNCTION_CALL_TRANSFORMER,
        reference);
  }