InternalRegistry

interface InternalRegistry : ConfigSyntax

Types

DelegatingContributor
Link copied to clipboard
class DelegatingContributor(phase: StorageComponentContainer, ctx: CompilerContext) : StorageComponentContainerContributor

Functions

callChecker
Link copied to clipboard
open fun callChecker(check: CompilerContext.(resolvedCall: ResolvedCall<*>, reportOn: PsiElement, context: CallCheckerContext) -> Unit): StorageComponentContainer
compilerContextService
Link copied to clipboard
open fun compilerContextService(): StorageComponentContainer
declarationChecker
Link copied to clipboard
open fun declarationChecker(check: CompilerContext.(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) -> Unit): StorageComponentContainer
enableIr
Link copied to clipboard
open fun enableIr(): ExtensionPhase

The enableIr function enables the Intermediate Representation Backend. The IR Backend is a part of the code generation phase and emits code in the IR format. The IR Format is a tree structure with significant indentation that contains all the information needed to generate bytecode for all platforms the Kotlin programming language targets. When the IR backend is disabled, which is the current default in the Kotlin Compiler, the JVM ASM Backend is used instead.

intercept
Link copied to clipboard
abstract fun intercept(ctx: CompilerContext): List<CliPlugin>
meta
Link copied to clipboard
open fun meta(vararg phases: ExtensionPhase): List<ExtensionPhase>
packageFragmentProvider
Link copied to clipboard
open fun packageFragmentProvider(project: Project, phase: PackageProvider, ctx: CompilerContext)
registerAnalysisHandler
Link copied to clipboard
open fun registerAnalysisHandler(project: Project, phase: AnalysisHandler, ctx: CompilerContext)
registerClassBuilder
Link copied to clipboard
open fun registerClassBuilder(project: Project, phase: ClassBuilder, ctx: CompilerContext)
registerCodegen
Link copied to clipboard
open fun registerCodegen(project: Project, phase: Codegen, ctx: CompilerContext)
registerCollectAdditionalSources
Link copied to clipboard
open fun registerCollectAdditionalSources(project: Project, phase: CollectAdditionalSources, ctx: CompilerContext)
registerCompilerConfiguration
Link copied to clipboard
open fun registerCompilerConfiguration(project: Project, phase: Config, ctx: CompilerContext)
registerDeclarationAttributeAlterer
Link copied to clipboard
open fun registerDeclarationAttributeAlterer(project: Project, phase: DeclarationAttributeAlterer, ctx: CompilerContext)
registerExtraImports
Link copied to clipboard
open fun registerExtraImports(project: Project, phase: ExtraImports, ctx: CompilerContext)
registerIRGeneration
Link copied to clipboard
open fun registerIRGeneration(project: Project, phase: IRGeneration, compilerContext: CompilerContext)
registerMetaAnalyzer
Link copied to clipboard
open fun registerMetaAnalyzer(): ExtensionPhase
registerMetaComponents
Link copied to clipboard
open fun registerMetaComponents(project: Project, configuration: CompilerConfiguration, context: CompilerContext? = null)
registerPreprocessedVirtualFileFactory
Link copied to clipboard
open fun registerPreprocessedVirtualFileFactory(project: Project, phase: PreprocessedVirtualFileFactory, ctx: CompilerContext)
registerProjectComponents
Link copied to clipboard
open fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration)
registerStorageComponentContainer
Link copied to clipboard
open fun registerStorageComponentContainer(project: Project, phase: StorageComponentContainer, ctx: CompilerContext)
registerSyntheticResolver
Link copied to clipboard
open fun registerSyntheticResolver(project: Project, phase: SyntheticResolver, compilerContext: CompilerContext)
registerSyntheticScopeProvider
Link copied to clipboard
open fun registerSyntheticScopeProvider(project: Project, phase: SyntheticScopeProvider, ctx: CompilerContext)
registerSyntheticScopeProviderIfNeeded
Link copied to clipboard
open fun registerSyntheticScopeProviderIfNeeded(project: Project)
storageComponent
Link copied to clipboard
open fun storageComponent(registerModuleComponents: CompilerContext.(container: StorageComponentContainer, moduleDescriptor: ModuleDescriptor) -> Unit, check: CompilerContext.(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) -> Unit = Noop.effect4): StorageComponentContainer

The storageComponent function allows access to the StorageComponentContributor. This is the Dependency Injector and service registry the compiler uses in all phases. In this function, you can register new services or modify existing ones before the container is composed and sealed prior to compilation.

updateConfig
Link copied to clipboard
open fun updateConfig(updateConfiguration: CompilerContext.(configuration: CompilerConfiguration) -> Unit): Config

The updateConfig function provides access to the CompilerConfiguration that contains the map of properties used to enable/disable the different features in compilation.

Inheritors

Meta
Link copied to clipboard