[Lombok] Add implementation of plugin for FIR

This commit is contained in:
Dmitriy Novozhilov
2022-05-25 16:18:50 +03:00
committed by teamcity
parent e58e86932c
commit a84ece7233
41 changed files with 1685 additions and 42 deletions
@@ -11,9 +11,11 @@ dependencies {
compileOnly(project(":compiler:plugin-api"))
compileOnly(project(":compiler:frontend"))
compileOnly(project(":compiler:frontend.java"))
compileOnly(project(":compiler:fir:entrypoint"))
implementation(project(":kotlin-lombok-compiler-plugin.common"))
implementation(project(":kotlin-lombok-compiler-plugin.k1"))
implementation(project(":kotlin-lombok-compiler-plugin.k2"))
compileOnly(intellijCore())
}
@@ -15,17 +15,20 @@ import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.CompilerConfigurationKey
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
import org.jetbrains.kotlin.lombok.LombokConfigurationKeys.CONFIG_FILE
import org.jetbrains.kotlin.lombok.k2.FirLombokRegistrar
import org.jetbrains.kotlin.resolve.jvm.extensions.SyntheticJavaResolveExtension
import java.io.File
import java.lang.IllegalArgumentException
class LombokComponentRegistrar : ComponentRegistrar {
companion object {
fun registerComponents(project: Project, compilerConfiguration: CompilerConfiguration) {
val config = LombokPluginConfig(compilerConfiguration[CONFIG_FILE])
val configFile = compilerConfiguration[CONFIG_FILE]
val config = LombokPluginConfig(configFile)
SyntheticJavaResolveExtension.registerExtension(project, LombokResolveExtension(config))
FirExtensionRegistrar.registerExtension(project, FirLombokRegistrar(configFile))
}
}