Skip to content

KaInternals

An internal facade that aggregates the Analysis API implementation behind every public context(session: KaSession) endpoint.

Each capability is exposed as a dedicated KaInternals<Xxx> proxy, accessible through a property on this interface. Public endpoints never touch a session implementation directly; they delegate through this facade, for example session.internals.typeRelationChecker.isSubtypeOf(...).

KaInternals is intentionally not a supertype of KaSession: KaSession stays a clean marker, while session implementations additionally implement KaInternals. This is why the internals bridge can cast a KaSession to KaInternals.

This is an implementation detail with no compatibility guarantees and must not be used outside the Analysis API implementation modules.

Properties

analysisScopeProvider

compilerFacility

compilerPluginGeneratedDeclarationsProvider

completionCandidateChecker

dataFlowProvider

diagnosticProvider

evaluator

expressionInformationProvider

expressionTypeProvider

javaInteroperabilityComponent

kDocProvider

legacyTypeCreator

referenceShortener

renderer

resolveExtensionInfoProvider

resolver

scopeProvider

signatureSubstitutor

sourceProvider

substitutorProvider

symbolInformationProvider

symbolProvider

symbolRelationProvider

typeCreatorProvider

typeInformationProvider

typeProvider

typeRelationChecker

useSiteModule

abstract val useSiteModule: KaModule

visibilityChecker