KaSingleCall
KaSingleCall<S, C> represents a single resolved callable applied at a call site. It is one branch of KaSingleOrMultiCall; the other branch, KaMultiCall, describes compound and desugared expressions.
KaSingleCall replaces the legacy KaCallableMemberCall as the conceptual base for "one resolved callable at this site". All accessors are inline — there is no partiallyAppliedSymbol wrapper to drill through.
Hierarchy
Members
val signature: CThe substituted callable signature — parameter types for functions, return type for functions and properties.
val dispatchReceiver: KaReceiverValue?The dispatch receiver for this symbol access. Present when the callable is declared inside a class or object. See Receivers.
val extensionReceiver: KaReceiverValue?The extension receiver. Present when the callable is declared with an extension receiver.
val contextArguments: List<KaReceiverValue>The context parameters for this symbol access.
val typeArgumentsMapping: Map<KaTypeParameterSymbol, KaType>Inferred and explicit type arguments. Keys are the signature's type parameters. May be empty on a resolution or inference error.
Helper extension
val <S : KaCallableSymbol, C : KaCallableSignature<S>> KaSingleCall<S, C>.symbol: SShort-cut for
signature.symbol— the resolved callable symbol.
Concrete subtypes
The concrete return types of the specialized resolveCall(...) methods all implement KaSingleCall:
KaFunctionCall and its subtypes (KaImplicitInvokeCall, KaAnnotationCall, KaDelegatedConstructorCall).
KaVariableAccessCall for property and variable accesses.
KaCallableReferenceCall for callable references — the cleanest example of the new shape, extending
KaSingleCall<S, C>only.