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  KtExpression reference
           
 
Fields inherited from interface org.jetbrains.kotlin.resolve.calls.tasks.TracingStrategy
EMPTY
 
Constructor Summary
protected AbstractTracingStrategy(KtExpression 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 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 nonExtensionFunctionCalledAsExtension(BindingTrace trace)
           
 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(ResolutionContext<?> context, InferenceErrorData data)
           
 void unsafeCall(BindingTrace trace, KotlinType type, boolean isCallForImplicitInvoke)
           
 void wrongNumberOfTypeArguments(BindingTrace trace, int expectedTypeArgumentCount)
           
 void wrongReceiverType(BindingTrace trace, ReceiverParameterDescriptor receiverParameter, ReceiverValue receiverArgument, ResolutionContext<?> c)
           
 
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 KtExpression reference

call

protected final Call call
Constructor Detail

AbstractTracingStrategy

protected AbstractTracingStrategy(@NotNull
                                  KtExpression 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,
                              @NotNull
                              ResolutionContext<?> c)
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
                       KotlinType type,
                       boolean isCallForImplicitInvoke)
Specified by:
unsafeCall in interface TracingStrategy

invisibleMember

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

typeInferenceFailed

public void typeInferenceFailed(@NotNull
                                ResolutionContext<?> context,
                                @NotNull
                                InferenceErrorData data)
Specified by:
typeInferenceFailed in interface TracingStrategy

nonExtensionFunctionCalledAsExtension

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