[SAM with receiver] Add implementation for K2
This commit is contained in:
committed by
teamcity
parent
49c836e706
commit
65ac82ee46
+32
-2
@@ -8,14 +8,19 @@ package org.jetbrains.kotlin.samWithReceiver
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter
|
||||
import org.jetbrains.kotlin.samWithReceiver.k2.FirSamWithReceiverExtensionRegistrar
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.DIAGNOSTICS
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractIrBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
// ------------------------ diagnostics ------------------------
|
||||
|
||||
abstract class AbstractSamWithReceiverTest : AbstractDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
@@ -23,6 +28,29 @@ abstract class AbstractSamWithReceiverTest : AbstractDiagnosticTest() {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirSamWithReceiverTest : AbstractFirDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurePlugin()
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------ codegen ------------------------
|
||||
|
||||
open class AbstractIrBlackBoxCodegenTestForSamWithReceiver : AbstractIrBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurePlugin()
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxCodegenTestForSamWithReceiver : AbstractFirBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurePlugin()
|
||||
}
|
||||
}
|
||||
|
||||
fun TestConfigurationBuilder.configurePlugin() {
|
||||
useConfigurators(::SamWithReceiverEnvironmentConfigurator)
|
||||
}
|
||||
@@ -37,5 +65,7 @@ class SamWithReceiverEnvironmentConfigurator(testServices: TestServices) : Envir
|
||||
project,
|
||||
CliSamWithReceiverComponentContributor(TEST_ANNOTATIONS)
|
||||
)
|
||||
|
||||
FirExtensionRegistrarAdapter.registerExtension(project, FirSamWithReceiverExtensionRegistrar(TEST_ANNOTATIONS))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user