compiler-plugin / arrow.meta.dsl.config / 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.


callChecker open fun callChecker(check: CompilerContext.(resolvedCall: ResolvedCall<*>, reportOn: PsiElement, context: CallCheckerContext) -> Unit): StorageComponentContainer
declarationChecker open fun declarationChecker(check: CompilerContext.(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) -> Unit): StorageComponentContainer
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 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 fun storageComponent(registerModuleComponents: CompilerContext.(container: StorageComponentContainer, moduleDescriptor: ModuleDescriptor) -> Unit, check: CompilerContext.(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) -> Unit = Noop.effect4): 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 fun Meta.typeChecker(replace: (KotlinTypeChecker) -> NewKotlinTypeChecker): ExtensionPhase
updateConfig The updateConfig function provides access to the CompilerConfiguration that contains the map of properties used to enable/disable the different features in fun updateConfig(updateConfiguration: CompilerContext.(configuration: CompilerConfiguration) -> Unit): Config


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

Do you like Arrow?

Arrow Org