KaInternals¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface 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¶
abstract val analysisScopeProvider: KaInternalsAnalysisScopeProvider
compilerFacility¶
abstract val compilerFacility: KaInternalsCompilerFacility
compilerPluginGeneratedDeclarationsProvider¶
completionCandidateChecker¶
dataFlowProvider¶
abstract val dataFlowProvider: KaInternalsDataFlowProvider
diagnosticProvider¶
abstract val diagnosticProvider: KaInternalsDiagnosticProvider
evaluator¶
abstract val evaluator: KaInternalsEvaluator
expressionInformationProvider¶
expressionTypeProvider¶
abstract val expressionTypeProvider: KaInternalsExpressionTypeProvider
javaInteroperabilityComponent¶
kDocProvider¶
abstract val kDocProvider: KaInternalsKDocProvider
legacyTypeCreator¶
abstract val legacyTypeCreator: KaInternalsTypeCreator
referenceShortener¶
abstract val referenceShortener: KaInternalsReferenceShortener
renderer¶
abstract val renderer: KaInternalsRenderer
resolveExtensionInfoProvider¶
resolver¶
abstract val resolver: KaInternalsResolver
scopeProvider¶
abstract val scopeProvider: KaInternalsScopeProvider
signatureSubstitutor¶
abstract val signatureSubstitutor: KaInternalsSignatureSubstitutor
sourceProvider¶
abstract val sourceProvider: KaInternalsSourceProvider
substitutorProvider¶
abstract val substitutorProvider: KaInternalsSubstitutorProvider
symbolInformationProvider¶
symbolProvider¶
abstract val symbolProvider: KaInternalsSymbolProvider
symbolRelationProvider¶
abstract val symbolRelationProvider: KaInternalsSymbolRelationProvider
typeCreatorProvider¶
abstract val typeCreatorProvider: KaInternalsTypeCreatorProvider
typeInformationProvider¶
abstract val typeInformationProvider: KaInternalsTypeInformationProvider
typeProvider¶
abstract val typeProvider: KaInternalsTypeProvider
typeRelationChecker¶
abstract val typeRelationChecker: KaInternalsTypeRelationChecker
useSiteModule¶
abstract val useSiteModule: KaModule
visibilityChecker¶
abstract val visibilityChecker: KaInternalsVisibilityChecker