Refactor codegen test utilities

Use GenerationUtils.compileFiles instead of
CodegenTestUtil.generateFiles
This commit is contained in:
Alexander Udalov
2017-04-12 19:07:53 +02:00
committed by Mikhael Bogdanov
parent 7613ec54f5
commit c2f275faec
6 changed files with 30 additions and 62 deletions
@@ -20,10 +20,8 @@ import com.intellij.openapi.extensions.Extensions
import com.intellij.openapi.util.text.StringUtil
import com.sun.tools.javac.tree.JCTree
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
import org.jetbrains.kotlin.codegen.CodegenTestCase
import org.jetbrains.kotlin.codegen.CodegenTestUtil
import org.jetbrains.kotlin.codegen.GenerationUtils
import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
import org.jetbrains.kotlin.kapt3.AbstractKapt3Extension
@@ -134,8 +132,7 @@ abstract class AbstractKotlinKapt3IntegrationTest : CodegenTestCase() {
try {
loadMultiFiles(files)
val classBuilderFactory = Kapt3BuilderFactory()
CodegenTestUtil.generateFiles(myEnvironment, myFiles, classBuilderFactory)
GenerationUtils.compileFiles(myFiles.psiFiles, myEnvironment, Kapt3BuilderFactory()).factory
val actualRaw = kapt3Extension.savedStubs ?: error("Stubs were not saved")
val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' })).trimTrailingWhitespacesAndAddNewlineAtEOF()
@@ -23,7 +23,7 @@ import com.sun.tools.javac.util.Log
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
import org.jetbrains.kotlin.codegen.CodegenTestCase
import org.jetbrains.kotlin.codegen.CodegenTestUtil
import org.jetbrains.kotlin.codegen.GenerationUtils
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
import org.jetbrains.kotlin.kapt3.Kapt3BuilderFactory
import org.jetbrains.kotlin.kapt3.KaptContext
@@ -58,15 +58,15 @@ abstract class AbstractKotlinKapt3Test : CodegenTestCase() {
val txtFile = File(wholeFile.parentFile, wholeFile.nameWithoutExtension + ".txt")
val classBuilderFactory = Kapt3BuilderFactory()
val factory = CodegenTestUtil.generateFiles(myEnvironment, myFiles, classBuilderFactory)
val typeMapper = factory.generationState.typeMapper
val state = GenerationUtils.compileFiles(myFiles.psiFiles, myEnvironment, classBuilderFactory)
val logger = KaptLogger(isVerbose = true, messageCollector = messageCollector)
val kaptContext = KaptContext(logger, factory.generationState.bindingContext, classBuilderFactory.compiledClasses,
val kaptContext = KaptContext(logger, state.bindingContext, classBuilderFactory.compiledClasses,
classBuilderFactory.origins, processorOptions = emptyMap())
try {
check(kaptContext, typeMapper, txtFile, wholeFile)
} finally {
check(kaptContext, state.typeMapper, txtFile, wholeFile)
}
finally {
kaptContext.close()
}
}