org.jetbrains.jet.lang.resolve.calls.tasks
Class TracingStrategyImpl

java.lang.Object
  extended by org.jetbrains.jet.lang.resolve.calls.tasks.TracingStrategyImpl
All Implemented Interfaces:
TracingStrategy

public class TracingStrategyImpl
extends java.lang.Object
implements TracingStrategy


Field Summary
 
Fields inherited from interface org.jetbrains.jet.lang.resolve.calls.tasks.TracingStrategy
EMPTY
 
Method Summary
<D extends CallableDescriptor>
void
ambiguity(BindingTrace trace, java.util.Collection<ResolvedCallWithTrace<D>> descriptors)
           
<D extends CallableDescriptor>
void
bindReference(BindingTrace trace, ResolvedCallWithTrace<D> resolvedCall)
           
<D extends CallableDescriptor>
void
bindResolvedCall(BindingTrace trace, ResolvedCallWithTrace<D> resolvedCall)
           
<D extends CallableDescriptor>
void
cannotCompleteResolve(BindingTrace trace, java.util.Collection<ResolvedCallWithTrace<D>> descriptors)
           
static TracingStrategy create(JetReferenceExpression reference, Call call)
           
 void danglingFunctionLiteralArgumentSuspected(BindingTrace trace, java.util.List<JetExpression> functionLiteralArguments)
           
 void instantiationOfAbstractClass(BindingTrace trace)
           
 void invisibleMember(BindingTrace trace, DeclarationDescriptorWithVisibility descriptor)
           
 void missingReceiver(BindingTrace trace, ReceiverParameterDescriptor expectedReceiver)
           
<D extends CallableDescriptor>
void
noneApplicable(BindingTrace trace, java.util.Collection<ResolvedCallWithTrace<D>> descriptors)
           
 void noReceiverAllowed(BindingTrace trace)
           
 void noValueForParameter(BindingTrace trace, ValueParameterDescriptor valueParameter)
           
<D extends CallableDescriptor>
void
recordAmbiguity(BindingTrace trace, java.util.Collection<ResolvedCallWithTrace<D>> candidates)
           
 void typeInferenceFailed(BindingTrace trace, InferenceErrorData.ExtendedInferenceErrorData data)
           
 void unnecessarySafeCall(BindingTrace trace, JetType type)
           
 void unresolvedReference(BindingTrace trace)
           
<D extends CallableDescriptor>
void
unresolvedReferenceWrongReceiver(BindingTrace trace, java.util.Collection<ResolvedCallWithTrace<D>> candidates)
           
 void unsafeCall(BindingTrace trace, JetType type, boolean isCallForImplicitInvoke)
           
 void upperBoundViolated(BindingTrace trace, InferenceErrorData inferenceErrorData)
           
 void wrongNumberOfTypeArguments(BindingTrace trace, int expectedTypeArgumentCount)
           
 void wrongReceiverType(BindingTrace trace, ReceiverParameterDescriptor receiverParameter, ReceiverValue receiverArgument)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

@NotNull
public static TracingStrategy create(@NotNull
                                             JetReferenceExpression reference,
                                             @NotNull
                                             Call call)

bindReference

public <D extends CallableDescriptor> void bindReference(@NotNull
                                                         BindingTrace trace,
                                                         @NotNull
                                                         ResolvedCallWithTrace<D> resolvedCall)
Specified by:
bindReference in interface TracingStrategy

bindResolvedCall

public <D extends CallableDescriptor> void bindResolvedCall(@NotNull
                                                            BindingTrace trace,
                                                            @NotNull
                                                            ResolvedCallWithTrace<D> resolvedCall)
Specified by:
bindResolvedCall in interface TracingStrategy

recordAmbiguity

public <D extends CallableDescriptor> void recordAmbiguity(@NotNull
                                                           BindingTrace trace,
                                                           @NotNull
                                                           java.util.Collection<ResolvedCallWithTrace<D>> candidates)
Specified by:
recordAmbiguity in interface TracingStrategy

unresolvedReference

public void unresolvedReference(@NotNull
                                BindingTrace trace)
Specified by:
unresolvedReference in interface TracingStrategy

unresolvedReferenceWrongReceiver

public <D extends CallableDescriptor> void unresolvedReferenceWrongReceiver(@NotNull
                                                                            BindingTrace trace,
                                                                            @NotNull
                                                                            java.util.Collection<ResolvedCallWithTrace<D>> candidates)
Specified by:
unresolvedReferenceWrongReceiver in interface TracingStrategy

noValueForParameter

public void noValueForParameter(@NotNull
                                BindingTrace trace,
                                @NotNull
                                ValueParameterDescriptor valueParameter)
Specified by:
noValueForParameter in interface TracingStrategy

missingReceiver

public void missingReceiver(@NotNull
                            BindingTrace trace,
                            @NotNull
                            ReceiverParameterDescriptor expectedReceiver)
Specified by:
missingReceiver in interface TracingStrategy

wrongReceiverType

public void wrongReceiverType(@NotNull
                              BindingTrace trace,
                              @NotNull
                              ReceiverParameterDescriptor receiverParameter,
                              @NotNull
                              ReceiverValue receiverArgument)
Specified by:
wrongReceiverType in interface TracingStrategy

noReceiverAllowed

public void noReceiverAllowed(@NotNull
                              BindingTrace trace)
Specified by:
noReceiverAllowed in interface TracingStrategy

wrongNumberOfTypeArguments

public void wrongNumberOfTypeArguments(@NotNull
                                       BindingTrace trace,
                                       int expectedTypeArgumentCount)
Specified by:
wrongNumberOfTypeArguments in interface TracingStrategy

ambiguity

public <D extends CallableDescriptor> void ambiguity(@NotNull
                                                     BindingTrace trace,
                                                     @NotNull
                                                     java.util.Collection<ResolvedCallWithTrace<D>> descriptors)
Specified by:
ambiguity in interface TracingStrategy

noneApplicable

public <D extends CallableDescriptor> void noneApplicable(@NotNull
                                                          BindingTrace trace,
                                                          @NotNull
                                                          java.util.Collection<ResolvedCallWithTrace<D>> descriptors)
Specified by:
noneApplicable in interface TracingStrategy

cannotCompleteResolve

public <D extends CallableDescriptor> void cannotCompleteResolve(@NotNull
                                                                 BindingTrace trace,
                                                                 @NotNull
                                                                 java.util.Collection<ResolvedCallWithTrace<D>> descriptors)
Specified by:
cannotCompleteResolve in interface TracingStrategy

instantiationOfAbstractClass

public void instantiationOfAbstractClass(@NotNull
                                         BindingTrace trace)
Specified by:
instantiationOfAbstractClass in interface TracingStrategy

unsafeCall

public void unsafeCall(@NotNull
                       BindingTrace trace,
                       @NotNull
                       JetType type,
                       boolean isCallForImplicitInvoke)
Specified by:
unsafeCall in interface TracingStrategy

unnecessarySafeCall

public void unnecessarySafeCall(@NotNull
                                BindingTrace trace,
                                @NotNull
                                JetType type)
Specified by:
unnecessarySafeCall in interface TracingStrategy

danglingFunctionLiteralArgumentSuspected

public void danglingFunctionLiteralArgumentSuspected(@NotNull
                                                     BindingTrace trace,
                                                     @NotNull
                                                     java.util.List<JetExpression> functionLiteralArguments)
Specified by:
danglingFunctionLiteralArgumentSuspected in interface TracingStrategy

invisibleMember

public void invisibleMember(@NotNull
                            BindingTrace trace,
                            @NotNull
                            DeclarationDescriptorWithVisibility descriptor)
Specified by:
invisibleMember in interface TracingStrategy

typeInferenceFailed

public void typeInferenceFailed(@NotNull
                                BindingTrace trace,
                                @NotNull
                                InferenceErrorData.ExtendedInferenceErrorData data)
Specified by:
typeInferenceFailed in interface TracingStrategy

upperBoundViolated

public void upperBoundViolated(@NotNull
                               BindingTrace trace,
                               @NotNull
                               InferenceErrorData inferenceErrorData)
Specified by:
upperBoundViolated in interface TracingStrategy