KaInapplicableCallCandidate¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaInapplicableCallCandidate : KaCallCandidate
A call candidate that is not applicable for a call.
A candidate is inapplicable if either:
-
An argument is missing or is not assignable to the corresponding parameter.
-
A type argument is missing or does not fit the constraints of the corresponding type parameter.
In other words, given the arguments and type arguments, the candidate could not be called at that specific call site.
Properties¶
candidate¶
abstract val candidate: KaSimpleOrMultiCall
The KaSimpleOrMultiCall representing the call candidate.
diagnostic¶
abstract val diagnostic: KaDiagnostic
The reason for the candidate's missing applicability (e.g. argument type mismatch or no value for a parameter).
isInBestCandidates¶
abstract val isInBestCandidates: Boolean
Whether the candidate is in the final set of candidates considered during the call's resolution. There can be multiple best candidates if the call is ambiguous.
token¶
abstract val token: KaLifetimeToken
The KaLifetimeToken which determines the lifetime of the lifetime owner.
Functions¶
assertIsValidAndAccessible¶
inline fun KaLifetimeOwner.assertIsValidAndAccessible()
isValid¶
fun KaLifetimeOwner.isValid(): Boolean
Whether the lifetime owner is still valid, i.e. we are still in the scope of the lifetime owner's regular lifetime.
withValidityAssertion¶
inline fun <R> KaLifetimeOwner.withValidityAssertion(action: () -> R): R
Executes action only if the KaLifetimeOwner is still valid and accessible. Otherwise, throws a validity exception based on the concrete violation.