compiler-plugin / arrow.meta.dsl.config / ConfigSyntax

ConfigSyntax

interface ConfigSyntax

The configuration phase allows changing the compiler configuration prior to compilation. In this phase, we can programmatically activate and change all compiler flags and system properties the compiler uses to enable/disable the different features in compilation.

Functions

enableIr 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.open fun enableIr(): ExtensionPhase
storageComponent 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.open fun storageComponent(registerModuleComponents: CompilerContext.(container: StorageComponentContainer, moduleDescriptor: ModuleDescriptor) -> Unit, check: CompilerContext.(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) -> Unit): StorageComponentContainer
typeChecker The typeChecker function allows the user to provide a custom implementation of the KotlinTypeChecker. With a custom KotlinTypeChecker, we can redefine what subtyping and type equality means.open fun typeChecker(replace: (KotlinTypeChecker) -> KotlinTypeChecker): StorageComponentContainer
updateConfig The updateConfig function provides access to the CompilerConfiguration that contains the map of properties used to enable/disable the different features in compilation.open fun updateConfig(updateConfiguration: CompilerContext.(configuration: CompilerConfiguration) -> Unit): Config

Inheritors

InternalRegistry interface InternalRegistry : ConfigSyntax
MetaPluginSyntax interface MetaPluginSyntax : ConfigSyntax, AnalysisSyntax, ResolveSyntax, CodegenSyntax

Do you like Arrow?

Arrow Org
<