Skip to content

org.jetbrains.kotlin.analysis.api.resolution

Types

KaAnnotationCall

KaApplicableCallCandidate

KaApplicableCallCandidateInfo

KaCall

sealed interface KaCall : KaLifetimeOwner

A call to a function, a simple/compound access to a property, or a simple/compound access through get and set convention.

KaCallableMemberCall

A call to a function, or a simple/compound access to a property.

KaCallableReferenceCall

A callable reference to a function, a property, or a constructor.

KaCallCandidate

sealed interface KaCallCandidate : KaLifetimeOwner

KaCallCandidate represents one of the candidates considered during overload resolution of a call.

KaCallCandidateInfo

KaCallCandidateInfo represents one of the candidates considered during overload resolution of a call.

KaCallInfo

sealed interface KaCallInfo : KaLifetimeOwner

Information about a call at the call site retrieved from resolveToCall. The call may either be resolved successfully (KaSuccessCallInfo), or with errors (KaErrorCallInfo), coming with a list of candidate calls and a diagnostic.

KaCallResolutionAttempt

Represents an attempt to resolve KtResolvableCall.

KaCompoundAccessCall

A compound access of a variable or an array.

KaCompoundArrayAccessCall

A compound access using the array access convention, involving calls to both the get() and set() functions. For example, a[1] += "foo" is such an array compound access.

KaCompoundArrayAccessCallResolutionAttempt

Represents an attempt to resolve a compound array access (e.g. a[1] += "foo" or a[0]++).

KaCompoundAssignOperation

A compound assignment that reads, computes, and writes the computed value. Calls to <op>Assign are not represented by KaCompoundAssignOperation.

KaCompoundOperation

The type of compound operation applied to a variable or an array element using the array access convention.

KaCompoundSymbolResolutionError

Represents a failed resolution of a compound (multi) call at the symbol level.

KaCompoundUnaryOperation

A compound unary access that reads, increments or decrements, and writes the computed value.

KaCompoundVariableAccessCall

A compound access of a mutable variable. Such accesses combine reading, modifying, and writing to the variable in a single expression, using operators like +=, -=, ++, or --.

KaCompoundVariableAccessCallResolutionAttempt

Represents an attempt to resolve a compound variable access (e.g. i += 1 or i++).

KaContextSensitiveResolutionStatus

KaDelegatedConstructorCall

A call to another constructor within the same class, or to a superclass constructor. This corresponds to the use of this(...) or super(...) within a constructor's body to delegate initialization to another constructor.

KaDelegatedPropertyCall

Represents a resolved delegated property, which desugars into up to three operator calls: getValue(), setValue(), and provideDelegate().

KaDelegatedPropertyCallResolutionAttempt

Represents an attempt to resolve a delegated property, which desugars into up to three operator calls: getValue(), setValue(), and provideDelegate().

KaErrorCallInfo

An erroneous call. The candidateCalls and diagnostic can be used to further analyze the error.

KaExplicitReceiverValue

An explicit receiver value.

KaForLoopCall

Represents a resolved for loop, which desugars into three operator calls: iterator(), hasNext(), and next().

KaForLoopCallResolutionAttempt

Represents an attempt to resolve a for loop, which desugars into three operator calls: iterator(), hasNext(), and next().

KaFunctionCall

A call to a function within Kotlin code. This includes calls to regular functions, constructors, constructors of superclasses, and annotations.

KaImplicitInvokeCall

KaImplicitReceiverValue

An implicit receiver value.

KaInapplicableCallCandidate

A call candidate that is not applicable for a call.

KaInapplicableCallCandidateInfo

KaMultiCall

sealed interface KaMultiCall : KaSimpleOrMultiCall

Represents a successful resolution resulting in multiple calls.

KaMultiCallResolutionAttempt

Represents an attempt to resolve a compound (multi) call, such as a for-loop, delegated property access, or compound assignment. The assembled call is always a KaMultiCall.

KaPartiallyAppliedFunctionSymbol

KaPartiallyAppliedSymbol

A callable symbol partially applied with receivers and type arguments. Essentially, this is a call that misses some information. For properties, the missing information is the type of access (read, write, or compound access) to this property. For functions, the missing information is the value arguments for the call.

KaPartiallyAppliedVariableSymbol

KaReceiverValue

sealed interface KaReceiverValue : KaLifetimeOwner

A receiver value of a call, which represents either an explicit, implicit, or smart-casted receiver.

KaSimpleCall

Represents a successful resolution resulting in a simple call.

KaSimpleCallResolutionAttempt

Represents an attempt to resolve a simple call (as opposed to a multi-call), which is either a success or an error.

KaSimpleCallResolutionError

Represents an error that occurred during the resolution of a KtResolvableCall

KaSimpleCallResolutionSuccess

Represents a successful resolution of a simple KtResolvableCall.

KaSimpleOrMultiCall

Represents a resolved call that can be either a simple call or a multi call.

KaSimpleSymbolResolutionAttempt

Represents an attempt to resolve a simple (non-compound) KtResolvable, which is either a success or an error.

KaSimpleSymbolResolutionError

Represents an error that occurred during the resolution of a KtResolvable

KaSimpleSymbolResolutionSuccess

Represents a successful resolution result.

KaSmartCastedReceiverValue

A smart-casted receiver value.

KaSuccessCallInfo

A successfully resolved call.

KaSymbolResolutionAttempt

This interface represents an attempt on resolving some KtResolvable through KaResolver.tryResolveSymbols API.

KaVariableAccessCall

Properties

Functions

collectCallCandidates

Returns all candidates considered during overload resolution for the call corresponding to the given KtResolvableCall.

resolveSuccessfulCall

Resolves the given KtAnnotationEntry to an annotation constructor call.

Resolves the given KtArrayAccessExpression to a simple function call representing get/set operator invocation.

Resolves the given KtCallElement to a function call.

Resolves the given KtCallableReferenceExpression to a callable member call.

Resolves the given KtCollectionLiteralExpression to a simple function call representing the corresponding array factory invocation.

Resolves the given KtConstructorDelegationCall to a delegated constructor call.

Resolves the given KtDestructuringDeclarationEntry to a call representing the componentN invocation (for positional destructuring) or the property access (for name-based destructuring).

Resolves the given KtForExpression to a KaForLoopCall representing the desugared for loop.

Resolves the given KtNameReferenceExpression to a call representing the referenced declaration.

Resolves the given KtPropertyDelegate to a KaDelegatedPropertyCall representing the desugared delegated property.

Resolves the given KtQualifiedExpression to a call representing the member or extension access.

Resolves the given KtSuperTypeCallEntry to a constructor call of the referenced supertype.

Resolves the given KtWhenConditionInRange to a simple function call representing the corresponding contains operator invocation used by the in/!in branch condition.

Resolves the call for the given KtResolvableCall.

resolveSuccessfulSymbol

Resolves the constructor symbol of the annotation referenced by the given KtAnnotationEntry.

Resolves the operator function symbol targeted by the given KtArrayAccessExpression.

Resolves the function symbol targeted by the given KtCallElement.

Resolves the callable symbol targeted by the given KtCallableReferenceExpression.

Resolves the classifier symbol referenced by the given KtClassLiteralExpression (Foo::class).

Resolves the function symbol targeted by the given KtCollectionLiteralExpression.

Resolves the constructor symbol referenced by the given KtConstructorCalleeExpression.

Resolves the constructor symbol referenced by the given KtConstructorDelegationCall.

Resolves the classifier symbol referenced by the given KtDelegatedSuperTypeEntry (class Foo : Bar by baz).

Resolves the callable symbol targeted by the given KtDestructuringDeclarationEntry.

Resolves the enum class symbol referenced by the given KtEnumEntrySuperclassReferenceExpression.

Resolves the synthetic function class symbol referenced by the given KtFunctionType.

Resolves the declaration symbol referenced by the given KtInstanceExpressionWithLabel.

Resolves the declaration symbol targeted by the given KtLabelReferenceExpression.

Resolves the classifier symbol referenced by the given KtNullableType.

Resolves the callable symbol targeted by the given KtQualifiedExpression.

Resolves the function symbol targeted by the given KtReturnExpression.

Resolves the constructor symbol by the given KtSuperTypeCallEntry.

Resolves the classifier symbol referenced by the given KtSuperTypeEntry (the no-parens form class Foo : Bar).

Resolves the classifier symbol referenced by the given KtTypeReference.

Resolves the operator function symbol targeted by the given KtWhenConditionInRange.

Resolves a single symbol for the given KtResolvable.

resolveSuccessfulSymbols

Resolves symbols for the given KtResolvable.

tryResolveCall

Attempts to resolve the given KtForExpression to a KaForLoopCallResolutionAttempt containing the individual resolution results for each desugared operator call (iterator, hasNext, next).

Attempts to resolve the given KtPropertyDelegate to a KaDelegatedPropertyCallResolutionAttempt containing the individual resolution results for each desugared operator call (getValue, setValue, provideDelegate).

Attempts to resolve the call for the given KtResolvableCall.

tryResolveSymbols

Attempts to resolve a symbol for the given KtResolvable.