org.jetbrains.kotlin.resolve.calls.tasks
Class AbstractTracingStrategy

java.lang.Object
  extended by org.jetbrains.kotlin.resolve.calls.tasks.AbstractTracingStrategy
All Implemented Interfaces:
TracingStrategy
Direct Known Subclasses:
TracingStrategyForInvoke, TracingStrategyImpl

public abstract class AbstractTracingStrategy
extends java.lang.Object
implements TracingStrategy


Field Summary
protected  Call call
           
protected  JetExpression reference
           
 
Fields inherited from interface org.jetbrains.kotlin.resolve.calls.tasks.TracingStrategy
EMPTY
 
Constructor Summary
protected AbstractTracingStrategy(JetExpression reference, Call call)
           
 
Method Summary
 void abstractSuperCall(BindingTrace trace)
           
<D extends CallableDescriptor>
void
ambiguity(BindingTrace trace, java.util.Collection<? extends ResolvedCall<D>> descriptors)
           
<D extends CallableDescriptor>
void
cannotCompleteResolve(BindingTrace trace, java.util.Collection<? extends ResolvedCall<D>> descriptors)
           
 void danglingFunctionLiteralArgumentSuspected(BindingTrace trace, java.util.List<JetFunctionLiteralArgument> functionLiteralArguments)
           
 void instantiationOfAbstractClass(BindingTrace trace)
           
 void invisibleMember(BindingTrace trace, DeclarationDescriptorWithVisibility descriptor)
           
 void missingReceiver(BindingTrace trace, ReceiverParameterDescriptor expectedReceiver)
           
 void nestedClassAccessViaInstanceReference(BindingTrace trace, ClassDescriptor classDescriptor, ExplicitReceiverKind explicitReceiverKind)
           
<D extends CallableDescriptor>
void
noneApplicable(BindingTrace trace, java.util.Collection<? extends ResolvedCall<D>> descriptors)
           
 void noReceiverAllowed(BindingTrace trace)
           
 void noValueForParameter(BindingTrace trace, ValueParameterDescriptor valueParameter)
           
<D extends CallableDescriptor>
void
recordAmbiguity(BindingTrace trace, java.util.Collection<? extends ResolvedCall<D>> candidates)
           
 void typeInferenceFailed(BindingTrace trace, InferenceErrorData data)
           
 void unnecessarySafeCall(BindingTrace trace, JetType type)
           
 void unsafeCall(BindingTrace trace, JetType type, boolean isCallForImplicitInvoke)
           
 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
 
Methods inherited from interface org.jetbrains.kotlin.resolve.calls.tasks.TracingStrategy
bindCall, bindReference, bindResolvedCall, unresolvedReference, unresolvedReferenceWrongReceiver
 

Field Detail

reference

protected final JetExpression reference

call

protected final Call call
Constructor Detail

AbstractTracingStrategy

protected AbstractTracingStrategy(@NotNull
                                  JetExpression reference,
                                  @NotNull
                                  Call call)
Method Detail

recordAmbiguity

public <D extends CallableDescriptor> void recordAmbiguity(@NotNull
                                                           BindingTrace trace,
                                                           @NotNull
                                                           java.util.Collection<? extends ResolvedCall<D>> candidates)
Specified by:
recordAmbiguity 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<? extends ResolvedCall<D>> descriptors)
Specified by:
ambiguity in interface TracingStrategy

noneApplicable

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

cannotCompleteResolve

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

instantiationOfAbstractClass

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

abstractSuperCall

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

nestedClassAccessViaInstanceReference

public void nestedClassAccessViaInstanceReference(@NotNull
                                                  BindingTrace trace,
                                                  @NotNull
                                                  ClassDescriptor classDescriptor,
                                                  @NotNull
                                                  ExplicitReceiverKind explicitReceiverKind)
Specified by:
nestedClassAccessViaInstanceReference 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<JetFunctionLiteralArgument> 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 data)
Specified by:
typeInferenceFailed in interface TracingStrategy